エクセルの関数についての質問です。
入力シート、データシートを含めて、シートが4つあります。データ!H列には、20年前から2020年までの月末の日付が、土日祝を避けて、後ろ倒しで表示されています。入力!A1には、三桁のコードを入力、入力!A2には、上記の期間でカレンダー通りの月末日を入力しています。困っているのは、データ!H列の月末日が、暦通りではない後ろ倒しの場合です。IFと VLOOKUPで数式を作成しましたが、上手くいきません。(※入力シート!A1が007の場合だけ、後ろ倒しの月末日が必要。※ A10は、入力!A2を表示。)、検索方法がFALSEだと、返される月とエラーになる月が出てしまう。TRUEにしたところ、エラーは避けられるけど、検索値未満の最大数を返してしまいます。例えば、〇〇年9月30だと、8月31日を返すという具合に。(10月2日が欲しいのに・・)
数式は、下記で作成してみました。
=IF(入力!A1="007",VLOOKUP(A10,H10:H200,1,TRUE,偽
TRUEで検索値未満の最大値(入力月の1ヶ月前)を返すやり方で前倒し用コードだと、上手くいくのですが、007の時が分からないです。FALSEで検索して、偽でEDATE関数で、後ろ倒し日を出す良い方法があるのか、詳しい方、教えてください。
No.1
- 回答日時:
検索範囲がH10:H100なのがよくわかりませんが(20年前から2020年までH10:H200に格納できないはず)、それは正しいとします。
=IF(入力!A1="007",IFERROR(VLOOKUP(A10,H10:H200,1,FALSE),VLOOKUP(EOMONTH(A10,1)-1,H10:H200,1,TRUE)))
では、いかがでしょうか。
FALSEで検索してエラーなら翌月の末日の1日前の日付でTRUEで検索しなおします。
No.2
- 回答日時:
なんちゃって回答で申し訳ないのですが、こんなのはどうでしょう。
+15のところは適当に調整してください。=IF(入力!A1="007",VLOOKUP(A10+15,H10:H200,1,TRUE),偽)
No.3ベストアンサー
- 回答日時:
>tatsuさん、ありがとうございます。
入力!A1が007以外のコードの時に、FALSEが表示されてしまうのです。>ちなみに数式が入っているセルの一行上のセルに通常前倒し用の数式があります。
>イフ関数は必要ないから、H列をVLOOKUPで検索するという普通の式です。
>※列は2つあり、前倒しした月末日(E列)、後ろ倒しの月末日(H列 ※コード007用)の2種類です。1つのセルにまとめる数式があれば、教えてください。
上記が正しいなら、
①A1が007の時、H列検索で、
A1が007以外の時、E列検索です。
②>イフ関数は必要ないから、H列をVLOOKUPで検索するという普通の式です。
が正しいなら、A1が007以外の場合H列を検索しています。
①が正しいなら、A1=007以外は、E列検索です。
②が正しいなら、A1=007以外は、H列検索です。
結局、どちらの列を参照しているのでしょうか。
>※列は2つあり、前倒しした月末日(E列)、後ろ倒しの月末日(H列 ※コード007用)の2種類です。1つのセルにまとめる数式があれば、教えてください。
まとめること以前にどうなさりたいのかを、明確にしていただけますか。
念のため確認ですが、
①E列の有効範囲は、何行から何行までですか?
②E列の日付は昇順で並んでいる前提であってますか。
③前倒しした月末日とは、例えば6月30日が祝日の場合、6月29日を登録するということであってますか。
④H列の有効範囲は、何行から何行までですか?
⑤H列の日付は昇順で並んでいる前提であってますか。
⑥後ろ倒しした月末日とは、例えば6月30日が祝日の場合、7月1日を登録するということであってますか。
ありがとうございました。助かりました!列検索をイフ関数の偽でもう一度やり直してうまくいきました!間違えて質問してしまい、申し訳ございませんでした。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 顧客ごとに違う点検案内を作成するマクロ 4 2022/09/16 05:34
- Excel(エクセル) VLOOKUP が機能しない、その原因は何 ? 8 2022/10/19 12:06
- Excel(エクセル) 下記エクセルの式がなぜこうなるのか理由が知りたいです。 6 2022/08/20 00:43
- Excel(エクセル) ユーザー定義について質問です。 2 2023/06/28 13:21
- Excel(エクセル) 前の(左隣の)シートを連続参照するように、あとから変更したい 1 2023/02/22 00:51
- Excel(エクセル) エクセル関数について 2 2022/04/13 18:25
- Visual Basic(VBA) 【VBA】Excelで罫線を引きたい 3 2022/07/14 12:04
- Visual Basic(VBA) VBA 改行コードの取り方 1 2022/03/22 14:14
- Excel(エクセル) Excelシフト表 固定シフトの自動変換化 1 2022/04/14 16:10
- Visual Basic(VBA) 列と行の名前(重複あり)が交差するセルに、データを入力したい 2 2022/06/25 22:42
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセル 指定した文字列を含...
-
エクセルで同じ名前ごとの合計...
-
エクセルVBA Unionはなぜ遅い?
-
EXCEL VBA 指定範囲内で特定の...
-
エクセルvba 一つ上の行を指定...
-
エクセル マクロで列を連続し...
-
エクセルで列内の同じIDの商品...
-
桁数が混在する並び替えの方法
-
エクセルで一部除外した数字を...
-
Excelで自動的に並べ替えなんて...
-
Excelで1列の数字の内、ある行...
-
エクセル VLOOKUPが反映されない
-
テキストボックス内の文字のふ...
-
Excelで数値→文字列変換で指数...
-
Excelで行ごとコピー、同じ行を...
-
エクセルでグラフタイトルが折...
-
エクセルにおける、グラフの指...
-
エクセル
-
C+vのvは英語で何の頭文字...
-
Excelの関数について、特定の文...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセル 指定した文字列を含...
-
エクセルで同じ名前ごとの合計...
-
エクセルVBA Unionはなぜ遅い?
-
エクセルの関数SUBSTITUTEを、...
-
桁数が混在する並び替えの方法
-
エクセルで一部除外した数字を...
-
EXCEL VBA 指定範囲内で特定の...
-
エクセルで列内の同じIDの商品...
-
エクセルで2列を検索し2列とも...
-
エクセル マクロで列を連続し...
-
EXCEL 指定した曜日に番号を振...
-
EXCELである列を上から順にチェ...
-
Excelで自動的に並べ替えなんて...
-
エクセルvba 一つ上の行を指定...
-
エクセル VLOOKUPが反映されない
-
エクセルマクロでA欄に値があ...
-
(続き)Excel2013で正しくソート...
-
ExcelVBA:列方向の並び替え O...
-
エクセルのマクロ教えてください。
-
エクセル 並び替え
おすすめ情報
訂正箇所が御座います。申し訳御座いません。
◾️訂正1
(※入力シート!A1が007の場合だけ、後ろ倒しの月末日が〜)
↓
(※入力シート!A1が007の場合だけ、後ろ倒
しの日付が〜)
◾️訂正2
TRUEで検索値未満の最大値(入力月の1ヶ月前)を返すやり方
↓
TRUEで検索値未満の最大値を返すやり方
tatsuさん、ありがとうございます。入力!A1が007以外のコードの時に、FALSEが表示されてしまうのです。
ちなみに数式が入っているセルの一行上のセルに通常前倒し用の数式があります。イフ関数は必要ないから、H列をVLOOKUPで検索するという普通の式です。
※列は2つあり、前倒しした月末日(E列)、後ろ倒しの月末日(H列 ※コード007用)の2種類です。1つのセルにまとめる数式があれば、教えてください。