• 締切済み

excel関数

A1からC1に年月が入力されています。D1に最新の年月を抽出したいのですが、何か方法はないでしょうか?(VBAでも無理でしょうか?) よろしくお願いします。 行/列  A    B      C    D   1   0812  0902    0705  0902   2   0901  0812    0708   0901

みんなの回答

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.4

> 90年代が入ると9908と古い年月を抽出してしまうのですが 年月を文字列で入れるという変則的な方法をとっている以上、どうしようもないですね。 いっそ、今からでも 1999/8/1 や2008/12/1 のような日付に変えて、セルの書式設定で、ユーザー定義でyymm形式で表示するようにしたらいかがですか? そうすれば見た目は 9908 とか 0812 になりますが、中身はちゃんと日付データですから =MAX(A1:C1) でOKなんですが。

blackcat77
質問者

お礼

ありがとうございました。

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.3

A~C列の年月が、単なる文字列なのでしたら =TEXT(SUMPRODUCT(MAX(A1:C1*1)),"0000") そうではなく、シリアル値の日付を表示形式で年月のみにしているなら =MAX(A1:C1) ですね。

blackcat77
質問者

お礼

上手くいきました。ありがとうございました。 ところで、 0812、9908、9701⇒ 0812 90年代が入ると9908と古い年月を抽出してしまうのですが、この場合は何か方法はありますか?

回答No.2

年月はどのように入力されているのでしょうか? 数値やシリアル値なら =MAX(A1:D1) です

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.1

一例です。 データがyy/mm形式の文字列を数値変換して、最大値(=最新)を抽出します。 因みに配列数式の為、入力完了時にshift+ctrl+enterキーを同時押下して下さい。 =TEXT(MAX((A8:C8)*1),"0000")

blackcat77
質問者

お礼

こんな方法があったのか。ありがとうございました。

関連するQ&A

専門家に質問してみよう