セル範囲内のすべての日付/時刻を文字列に「バッチ変換」する方法は?


2

注: このSOの質問は似ていますが、よりスケーラブルなソリューションに興味があります。したがって、タイトルの「バッチ変換」です。また、最初にこの質問をStackOverflowに投稿しましたが、 VBAプログラミングを必要としないソリューションに興味があるため、ここでの提案に従って質問をSuperUserに移動しました

Excelスプレッドシートのすべての「日時セル」を対応する文字列値に変換する「最も侵襲性の低い」方法は何ですか?

「日付時刻セル」とは、内容が実際には浮動小数点数であるが、形式によって日付時刻文字列として表示されるものを意味します。

「最小侵襲」とは、スプレッドシートへの最小限の変更のみを必要とする方法を意味します。(特に、必要なカットアンドペーストの量を避けるか、少なくとも最小限に抑えたいと思います。)

理想的な方法は、文字列に変換する日時セルを選択し、必要な変換を「インプレース」で適用するだけの方法です。私は成功せずにこのようなものを探しました。

この問題についてこれまでに見つけた最良の解決策を提出します(以下の回答を参照)が、この解決策は非常に面倒でエラーが発生しやすいため、より安全で経済的な方法を実現したいと思います。同じ結果。


1
データはどこから来たのですか?私はあなたが手入力ではなく、データをインポートしていると仮定していますか?その場合、最良のコースはそのプロセスにある可能性があります。それ以外の場合は、ほぼ確実にプロセスにカットアンドペーストを組み込む必要があります。
ダブ

回答:


4

(注:私はExcelを完全に熟知しています。以下に説明することを行う面倒な方法は少ないと確信しています。Excelを本当に知っている人がより良いものを投稿することを期待してこのソリューションを投稿しています。)

私がこれまでに見つけた最良の解決策(このSOの回答に基づく)は次のとおりです。変換されるセルが範囲内A1:100にあり、列Xが使用されていないとします。セルに次の式を入力しますX1

=TEXT(A1, "DD/MM/YYYY hh:mm:ss")

(もちろん、ニーズに合わせて日時形式を変更します。)

次に、この数式を範囲内のすべてのセルに「ドラッグコピー」しますX2:100。次に、範囲をコピーし、オプションを指定したコマンドを使用X1:100して範囲に貼り付けます。A1:100Paste Special...Values

最後にClear > All、範囲X1:100

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.