- 締切済み
excel関数
A1からC1に年月が入力されています。D1に最新の年月を抽出したいのですが、何か方法はないでしょうか?(VBAでも無理でしょうか?) よろしくお願いします。 行/列 A B C D 1 0812 0902 0705 0902 2 0901 0812 0708 0901
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- merlionXX
- ベストアンサー率48% (1930/4007)
> 90年代が入ると9908と古い年月を抽出してしまうのですが 年月を文字列で入れるという変則的な方法をとっている以上、どうしようもないですね。 いっそ、今からでも 1999/8/1 や2008/12/1 のような日付に変えて、セルの書式設定で、ユーザー定義でyymm形式で表示するようにしたらいかがですか? そうすれば見た目は 9908 とか 0812 になりますが、中身はちゃんと日付データですから =MAX(A1:C1) でOKなんですが。
- merlionXX
- ベストアンサー率48% (1930/4007)
A~C列の年月が、単なる文字列なのでしたら =TEXT(SUMPRODUCT(MAX(A1:C1*1)),"0000") そうではなく、シリアル値の日付を表示形式で年月のみにしているなら =MAX(A1:C1) ですね。
お礼
上手くいきました。ありがとうございました。 ところで、 0812、9908、9701⇒ 0812 90年代が入ると9908と古い年月を抽出してしまうのですが、この場合は何か方法はありますか?
- 某HN クロメート(Chromate)(@CoalTar)
- ベストアンサー率40% (705/1742)
年月はどのように入力されているのでしょうか? 数値やシリアル値なら =MAX(A1:D1) です
- mu2011
- ベストアンサー率38% (1910/4994)
一例です。 データがyy/mm形式の文字列を数値変換して、最大値(=最新)を抽出します。 因みに配列数式の為、入力完了時にshift+ctrl+enterキーを同時押下して下さい。 =TEXT(MAX((A8:C8)*1),"0000")
お礼
こんな方法があったのか。ありがとうございました。
お礼
ありがとうございました。