色の知識で人生の可能性が広がる!みんなに役立つ色彩検定 >>

エクセルで月日を比較して、最小(いちばん過去)のものをセルに表示させる方法を探しています。

例えば画像のように設定しているとき、『2021/01/20』をD2セルに表示させたいです。

どのような数式を入れれば、「給料振込み日」と「経費発生日」の中から最も過去のもの年月日を自動で取り出せるでしょうか?

それぞれのセルに入っている文字は、例えば2行の場合

A2:2021/02/04
B2:2021/01/20

です。

(添付画像はテストのため、Googleスプレッドシートに転記したものとなっています)

「エクセルで、月日を比較していちばん過去の」の質問画像
教えて!goo グレード

A 回答 (5件)

既に回答された皆さんが、入力されている日付が「シリアル値」であること(文字列でないこと)を指摘されておられます。


見かけ上、日付に見えていても文字列とシリアル値では内容が異なるからです。
しかし、見かけ上日付に見えているなら、配列数式を用いれば、文字列とシリアル値が混在しても対応できます。
D2に
=MIN(TRIM(日付範囲)*1)
という数式、添付画像の例でいえば

=MIN(TRIM(A2:B5)*1)

という数式を記述し、CTRL+SHIFT+ENTERで確定して配列数式とします。すると数式全体が{}で囲まれた状態になります。
※EXCELのバージョンが「365」の場合はENTERだけで確定してもOKです。

こうすれば、日付が文字列だったり、シリアル値だったりして、混在していても、D2に「振り込みor経費が初めて発生した日」が表示されます。(表示セルの書式設定は日付表示に設定)
添付画像ではわざとシリアル値と文字列とを混在させています。
「エクセルで、月日を比較していちばん過去の」の回答画像5
    • good
    • 0
この回答へのお礼

ありがとうございます!日付でも、普通にMIN関数の比較ができたのですね…数字だけだと考えてました。

単純なMIN関数の比較で再現できたのですが、シリアル値が絡んでくることなど一歩踏み出た内容でご回答くださったものを、ベストアンサーとさせていただきます!

お礼日時:2021/09/13 06:17

D2=MIN(A2:B5)


では如何でしょうか。
    • good
    • 0

日付が入力されている範囲で一番小さい日付を拾い出せばよいので


MIN関数を使うと良いでしょう。

※ 日付が文字列で記述(入力)されていない事を前提としています。
    • good
    • 0

範囲を指定して最小値を出力させれば可能なようにも思いますが。


日付自体パソコン内部では日付連番という連続数値です。
それをセルの設定で日付表示にすれば、日付の形式で表示されます。
表示させたいセルにミニ関数を使い、範囲を指定すれば最も若い数値が表字されます(そのセルの設定は日付表示に設定の必要あり)。
    • good
    • 0

こんにちは



>それぞれのセルに入っている文字は、例えば2行の場合
> ~~~
実際の値がどうなっているのか不明なので、はっきりとはしませんが、勝手に日にちはシリアル値(=日付を表すエクセルの値)だ仮定しました。

>「給料振込み日」と「経費発生日」の中から最も過去のもの
>年月日を自動で取り出せるでしょうか?
A、B列全体から一番古い日付を取り出したいという事でしょうか?

であるなら、D2セルに
 =MIN(A2:B5)
を入力して、セルの書式設定を日付にすれば宜しいかと。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

教えて!goo グレード

人気Q&Aランキング