複数の条件を満たすセルの値を返したいのですが、条件の一つがややこしく、
関数を組み合わせても上手くいきません・・・。
どなたかご教授の程、宜しくお願い致します。
例
A B C D E F G H
1 太郎 600 10 19 ○ 太郎 600 24
2 太郎 600 20 29 △ 太郎 600 15
3 花子 800 10 19 □
4 花子 800 20 29 ☆
上記のような表があります。
F1に太郎、G1に600、H1に入力した値がC1からD1の範囲内の
数値ならE1を返せるようにしたいのです。
C列とD列に同じ値がある為、E1とE3を上手く返せず困っております。
何卒、宜しくお願い致します。
No.1
- 回答日時:
もう少し説明をお願いします。
・A~E列には値が入っていて、F~H列に入力して結果を得たいのでしょうか?
・C列とD列は、必ずD列の方が大きい数字ですか?C列が大きかったり、C列とD列が同じ数字になることはありますか?
・「C1からD1の範囲内」とは、=も含みますか?
・A1とA2は太郎でB1とB2は600ですが、C1~D1の範囲とC2~D2の範囲は、重複することはあるのでしょうか?
・「E1を返せるようにしたい」とは、E1の値をどのセルに表示したいのでしょうか?
No.2ベストアンサー
- 回答日時:
元の表に連番が降ってあるなら SUMIFSで済む話しですが
=IFERROR(LOOKUP(1,0/(A$1:A$4=F1)/(B$1:B$4=G1)/($C$1:$C$4<=H1)/(D$1:D$4>=H1),E$1:E$4),"")
No.3
- 回答日時:
関数を使うなら、№2のLOOKUPが良いと思います。
マクロであれば、こんな感じです。
Sub test()
Dim i As Integer 'データテーブルの行
Dim j As Integer '抽出テーブルの行
Dim soi As Integer 'データテーブルの開始行
Dim soj As Integer '抽出テーブルの開始行
Dim eoi As Integer 'データテーブルの最終行
Dim eoj As Integer '抽出テーブルの最終行
soi = 1 'データテーブルは1行目から もし3行目からなら3にする
soj = 1 '抽出テーブルは1行目から もし3行目からなら3にする
eoi = Cells(Rows.count, 1).End(xlUp).row
eoj = Cells(Rows.count, 6).End(xlUp).row
For j = soj To eoj
For i = soi To eoi
If Range("A" & i).Value = Range("F" & j).Value And _
Range("B" & i).Value = Range("G" & j).Value And _
Range("C" & i).Value <= Range("H" & j).Value And _
Range("D" & i).Value >= Range("H" & j).Value Then
Range("I" & j).Value = Range("E" & i).Value
End If
Next i
Next j
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) EXCEL関数(数式)を教えてください 2 2022/06/08 18:32
- Excel(エクセル) Excelについて A1からA12まで、1月〜12月と入力し、 B1からB12の範囲に、C1とD1に 4 2022/05/26 22:48
- Excel(エクセル) Excel 値を返す数式についてです 3 2022/11/21 20:08
- Excel(エクセル) 条件付き書式の設定方法を教えて下さい。 2 2023/04/14 18:12
- Excel(エクセル) Excel2019 列と列(2列)の数値の重複を調べたい 1 2023/05/11 13:35
- Excel(エクセル) エクセルで指定範囲にある名前と重複した場合に入力できないようにしたい 1 2023/07/13 09:58
- Excel(エクセル) エクセルの数式で教えてください。 1 2022/10/25 09:26
- Excel(エクセル) エクセルで、 A1セルに「A」という値、 B1セルに「B」という値が入っています。 どちらも表示形式 5 2023/02/22 23:05
- Excel(エクセル) エクセルの数式で教えてください。 2 2023/01/12 09:24
- その他(Microsoft Office) Excel 2列の値を返す数式についてです 1 2022/11/23 22:59
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルでの作業計算方法について
-
はがきについて。
-
エクセル 文字を増やしたい。
-
セルの内容表示が邪魔になる
-
Microsoft365に変えたのですが...
-
エクセルの計算
-
Microsoft1Officeの互換ソフト...
-
【マクロ】その時、その時で変...
-
【マクロ】読取専用のファイル...
-
エクセル初心者です 関数の入れ...
-
Excel ピボットテーブルで日付...
-
【関数】適切な文字数の数字を...
-
LOOKUP関数を使えばいいのでし...
-
Aというブックの1というシート...
-
エクセル関数を教えてください
-
Excelのチェックボックスの使い...
-
エクセル 白黒印刷で白線を印刷...
-
時間によってファイル名が変わ...
-
WPS OFFICEでの縦書きについて
-
エクセルの条件付き書式につい...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel 2019 のピボットテーブル...
-
[関数得意な方]教えて下さい・...
-
Excelにてある膨大なデータを管...
-
[関数について]わかる方教えて...
-
Excel初心者です。 詳しい方、...
-
excelの不要な行の削除ができな...
-
エクセル関数に詳しい方教えて...
-
INDIRECTを使わず excelで複数...
-
[オートフィルタ]で抽出された...
-
エクセルの神よ、ご回答を! エ...
-
エクセル関数に詳しい方、教え...
-
各ページの1番上の表示について
-
Excelで写真のような表を作った...
-
エクセルで不等号記号(≠)が上に...
-
数学 Tan(θ)-1/Cos(θ)について...
-
Excel 2019 は、SPILL機能があ...
-
Excelで全角を半角にしたいので...
-
条件付き書式を教えてください
-
Excel フィルターを掛けた状態...
-
[オートフィルタ]の適用範囲の...
おすすめ情報
補足致します。
・A~E列には値が入っていて、F~H列に入力して結果を得たいのでしょうか?
⇒仰る通り、A~Eは値・F~Hは入力欄となります。
・C列とD列は、必ずD列の方が大きい数字ですか?C列が大きかったり、C列とD列が同じ数字になることはありますか?
・「C1からD1の範囲内」とは、=も含みますか?
⇒必ずD列が大きく、同じ数字になる事はありません。また、範囲内とは=は含ませたいです。
・A1とA2は太郎でB1とB2は600ですが、C1~D1の範囲とC2~D2の範囲は、重複することはあるのでしょうか?
⇒重複することはありません。
・「E1を返せるようにしたい」とは、E1の値をどのセルに表示したいのでしょうか?
⇒どこでも構わないのですが、I列の1とさせて下さい。
拙文で申し訳ありません。