プロが教えるわが家の防犯対策術!

エクセルの関数に関して、複数のセルの内、どちらかのセルに日付データが入っていた時に
必要に応じてその日付データの年/月/日を抽出したいと考えています。

入力可能性のある項目A:Sheet1のF40
入力可能性のある項目B:Sheet2のF42
尚、日付データが入っていない状態は#VALUE!とデフォルトで表示され、
日付データが入ることで、日付がMM/DD/YYYYの順で表示されます。

このMM/DD/YYYYがどちらのセルに入力されたときに、
入力された値 YYYY、MM、DDをそれぞれ抽出する方法を教えてください。
(両方のセルに日付が入力されることはありません)

IF関数、OR関数、YEAR関数などを使うと思うのですが、いまいち順番が分かりませんでした。
ご教示いただければ有り難いです。

A 回答 (2件)

=IF(NOT(ISERROR(F40)),「F40セルに入っている値から日付を得る」, IF(NOT(ISERROR(F42)),「F42セルに入っている値から日付を得る」,""))


自分ならこんな感じで処理を分ける。

あとは文字列の長さが決まっているようなのでMID関数でそれぞれ値を抽出して日付として組み立てて日付として認識させれば「セルに入っている値から日付を得る」事ができるでしょう。
=DATE(MID(F40,7,4),MID(F40,1,2),MID(F40,4,2))
とか。

・・・
何をしているのかをよく理解してください。
(見やすいようにNOT関数を入れています)
そのため、まとめた数式は記載しません。
    • good
    • 1

どちらも入るということがないなら、



年のセル=YEAR(Sheet1!F40+Sheet2!F42)

とか?
あー、でも

>日付データが入っていない状態は#VALUE!とデフォルトで表示され

ということは式が入っていて別のセルに日付をいれるんですよね?
エラー処理するとか日付を入れるセルを直接参照するとかできないんですか?
    • good
    • 0

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