いつもありがとうございます。よろしくお願いいたします。 A列に日付が入力されています。 A列に日付が入力されれば、自動でB列に数値が代入されるようにしたいと思っています。 今は IF(A1="","",IF(YEAR(A1)&MONTH(A1)="20251","111",IF(YEAR(A1)&MONTH(A1)="20252","222"・・・・ で代入されるようにしていますが、大変です。 A B 1 1月1日 111 2 1月2日 111 3 2月5日 222 4 3月3日 333 望んでいることは 別シートに入力されている表を参照して値を代入できればと思っています。 別シート A B 1 2025年1月 111 2 2025年2月 111 3 2025年3月 222 4 2025年4月 333 ・ ・ ・ ご教授をよろしくお願いいたします。
●Sheet2 A B 1 2025年1月 111 2 2025年2月 111 3 2025年3月 222 4 2025年4月 333 ●Sheet1 A B 1 1月1日 111 2 1月2日 111 3 2月5日 111 4 3月3日 222 B1 =IFERROR(INDEX(Sheet2!B:B,MATCH(TEXT(A1,"yyyy/m"),TEXT(Sheet2!A$1:A$200,"yyyy/m"),0)),"") 下方向・↓
別シート A 列 に表示されている値 は、 2025年1月 なのでしょう。 ですが、実際の値 は どうなっていますか? 入力者が 2025年1月 と 入力しても、 Excelが自動変換を行い、実値 は 2025/1/1 となっていて、 セルの書式設定に 【yyyy"年"m"月"】 が 設定され、2025年1月 と表示されているだけ 場合があります。 同じく、1月1日 についても、実値が何なのか調べておきましょう。 2024/1/1 でも、 2025/1/1 でも m"月"d"日" であれば、 1月1日 と表示されます。 2024/1/1 であれば、2025年1月 の 2025/1/1 とは 絶対に合致しませんから、 検索では引っかからない事になります。 Excelの一般関数 の場合、表示されている値 ではなく、実値 で評価が行われます。 ですので、関数をう場合 入力値、検索対象の値 それぞれについて セルの値について、評価しておく事が必要です。 必要に応じ 隣の列に TEXT関数を使い、評価基準となる 文字列を返しておいても良いでしょう。 それを踏まえ、VLOOKUP関数を使えば良いと思いますよ。
んなっと様 Suzu様 ありがとうございました。うまく表示ができました。 心より感謝いたします。
利用者の皆様にお知らせです。
マイクロソフト オフィス スペシャリスト(MOS)
ビジネス統計スペシャリスト
IC3(アイシースリー)
VBAエキスパート
アドビ認定プロフェッショナル
Microsoft認定資格
App Development with Swift
IT Specialist
Cisco Certified Support Technician(CCST)
外交官から学ぶ グローバルリテラシー
令和のマナー検定