
エクセル365の関数の質問です。
外部から納品されたリストの誕生日を、別のリストへ読み込むと、誕生日とは違う数字の羅列になってしまうので下記の関数を利用して読み込みました。
=text(a1,"yyyy年m月d日")
これで問題ないかとチェックしていると、西暦がおかしい人が混ざっていました。
「1905年」や「2022年」や「1900年」だったりして、元のファイルを見てみると「1948」(西暦のみ入力)や、「2/18」(入力者の意図としては西暦不明で月日のみ入力。エクセル上は2022年2月18日の扱い)、もしくは空欄のものになっていました。
2022年生まれの人は現在はリストに含まれていませんが、来年からは含まれてくると思います。
IF関数を使って空欄だけならなんとかなったんですが、ほかの2ケースの場合にどうすればいいか皆目見当がつきません。
このような生年月日が揃っていないものについては、空欄で返すような関数はないでしょうか?
詳しい方、助けて頂けると有難いです、宜しくお願いします。
No.2ベストアンサー
- 回答日時:
No.1の回答の書き忘れ
> このような生年月日が揃っていないものについては、空欄で返すような関数はないでしょうか?
ここ、意味がわからなくて、入力値に合わせて表示形式を変える式を提示してしまいましたが・・・
「年」「月」「日」の3つが揃っていないもの、と解釈するなら、
=IF(A1="","",IF(A1<2672,"",TEXT(A1,"yyyy年m月d日")))
だけでいいかも。
2672は、最高齢者の誕生日1907/4/25に該当します。
なので、月日のみの入力は最大でも365なので空白返しだし、
西暦のみの入力も2672年以下ですから空白返しになりますね。
No.1
- 回答日時:
どういう形式で納品されて、どういう方法で読み込んでいるのかわからないけど、
年だけ、月日だけでもいいのであれば、誕生日列を初めから「文字列」として読み込んでしまうのもアリだと思いますが。
実際にどういう状態になってるかわかりませんが、こちらの式を試してみて下さい、
=IF(A1="","",IF(A1<366,TEXT(A1,"m月d日"),IF(A1<2022,A1&"年",TEXT(A1,"yyyy年m月d日"))))
=IFS(A1="","",A1<366,TEXT(A1,"m月d日"),A1<2022,A1&"年","TRUE",TEXT(A1,"yyyy年m月d日"))
「365」ならIFS関数も使えると思いますが、古いバージョンでも開くならIF関数の方がいいでしょう。
式の中身は…
①空白だったら空白
②366より小さければ「月日」のみ表示
単純に日付だけ入力されている場合、1900年の日付になってしまってると思うので、366日(1901年1月1日)より前の数字の場合は年を表示させません。
③2022より小さければ、西暦と扱い「年」として表示。
2022という数値を日付に直すと1905/7/14なので、1905/7/14以前の生まれの人の誕生日が正しく入力されていても、誕生日ではなく「2022年」等と表示されてしまいます。
生存されている方だけが対象となっているのであれば、問題ないでしょう。
(現在の最高齢は1907年生まれの方なので影響なし)
④ここまでの"ふるい"を抜けてきたものは、晴れて年月日を表示。
…と、こんな感じにしたつもりです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
18の大学生って風俗行けますか?
-
50歳は??
-
西暦にはどうして桁区切りのカ...
-
神棚の榊が枯れたままですが、...
-
熨斗紙裏側何で止めますか(セ...
-
寝る方向と仏壇、神棚の位置に...
-
アクセス2000/4月1日現在の年齢...
-
神棚のある部屋で寝てはいけない?
-
平成6年生まれの成人式
-
なぜ年齢は0歳スタートか
-
自分の年齢を間違えていた事は...
-
現在の西暦の下2桁と変数とし...
-
神棚に足を向けてはいけない??
-
一人暮らしの彼女(彼氏)の家...
-
神棚の下に鏡台
-
塔婆の梵字の意味
-
「松を挿し木して根づくと縁起...
-
「担ぐ」という言葉の意味
-
喪中なんですけど神社に行った...
-
誕生日が同じ人に会ったことあ...
おすすめ情報