[[20160621200205]] 『列内での複数検索は可能でしょうか?』(いちご) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『列内での複数検索は可能でしょうか?』(いちご)

A列   B列
東京
いちご 101
みかん 102
もも  103
千葉
いちご 202
みかん 203
もも  203

このように並んでいるデータがあります。

C1セルに「いちご」C2セルに「千葉」
この二つをキーにしてB列の「202」を
D1セルに取得することは可能でしょうか?

要は、A列で「千葉」のすぐ下にある「いちご」の横にある
列の数値を取得したいのです。

VBAならできそうですが、関数だけで出来ないかと
VLOOKやINDEXを使ってみたのですが、
どうもうまくいかず…

ご存じの方、いらっしゃいましたら教えていただけると幸いです。

< 使用 Excel:Excel2013、使用 OS:unknown >


素人ですが、
もう一つ列を作れるなら、
県と果物を一つのキーワードにして、
「千葉イチゴ」でVLOOKUPすればいいですけど、
難しいですね。

(通りすがりの) 2016/06/21(火) 21:23


この回答は無視してください。

 該当するのは1ヶ所だけ? 複数あったらどうするんですかね?

 複数あったら合計でいいのなら

 データ範囲が、1〜100行目だとして

 =SUMIFS(B2:B100,A1:A99,C2,A2:A100,C1)
 とか
 =SUMPRODUCT((A1:A99=C2)*(A2:A100=C1),B2:B100)

 こんな感じでできませんかね?

 試してませんけど。
(笑) 2016/06/21(火) 21:32

 こんばんわ。

 抽出条件が必ず存在するなら以下の式で求められます。
 =VLOOKUP(C1,OFFSET(A1,MATCH(C2,A:A,0),0,100,2),2,0)

 こんな場合は違う結果を返してしまいますが、、、

   A       B       C
 1 東京            もも
 2 いちご 101   東京
 3 みかん 102 
 4 スイカ 103 
 5 千葉 
 6 いちご 202 
 7 みかん 203 
 8 もも  204 

(sy) 2016/06/21(火) 21:57


 なんか勘違いしていたようです、最初の回答はスルーしてください。

 これ、都道府県名の次のセルだけじゃなく、
「東京のもも」なら「103」、「千葉のみかん」なら「203」にしたいってことですよね?

 品名は各都道府県全部共通なんですかね?

 そのへんよくわかりませんが、作業列を使ってもいいのなら
 C列作業列で。

	A	B	C
1	東京		東京
2	いちご	101	東京
3	みかん	102	東京
4	もも	103	東京
5	千葉		千葉
6	いちご	202	千葉
7	みかん	203	千葉
8	もも	204	千葉

 C1 =A1
 C2 =IF(A2="","",IF(B2="",A2,C1))

 C2を下にコピー

 ※1行目が見出し等で、2行目以降からデータなら、C1の式は不要

 求めたい数値は SUMIFS で。
(笑) 2016/06/21(火) 22:52

 サンプルでは、東京・千葉どちらも「4行」ですが、行数は全部同じなんですか?

 同じなら、たとえば全部「4行」なら、
 これも VLOOKUP と OFFSET の組み合わせですけど、

 =IFERROR(VLOOKUP(C1,OFFSET(A1:B4,MATCH(C2,A1:A100,0)-1,0),2,FALSE),"")

 OFFSET の基準「A1:B4」は、表の一番上の都道府県(サンプルで言えば「東京」)の範囲

 全体の表の範囲を A1:B100 と仮定。

 ところで、実際の表にグループ(都道府県)は何個あるんですか?
 まさか東京と千葉だけってことないですよね?
(笑) 2016/06/22(水) 05:22

 地域ごとに果物の個数が違う場合。

 =VLOOKUP(C1,INDIRECT("A"&MATCH(C2,A:A,0)):INDIRECT("B"&MATCH(C2,A:A,0)+MATCH(1,INDEX((INDIRECT("B"&MATCH(C2,A:A,0)+1):B100="")*1,0),0)),2,FALSE)

 なお、表を最大で100行目までとしている。
 もっと行数がある場合は「B100」の部分の100を大きくしてくれ。
(ねむねむ) 2016/06/22(水) 11:03

 =VLOOKUP(C1,INDIRECT("A"&MATCH(C2,A:A,0)):INDIRECT("B"&MATCH(1,INDEX((B:B="")*(ROW(B:B)>MATCH(C2,A:A,0)),0),0)),2,FALSE)
 でも。

 もし、これが重い場合は
 =VLOOKUP(C1,INDIRECT("A"&MATCH(C2,A1:A100,0)):INDIRECT("B"&MATCH(1,INDEX((B1:B100="")*(ROW(B1:B100)>MATCH(C2,A1:A100,0)),0),0)),2,FALSE)
 と範囲を限定してみてくれ。
(ねむねむ) 2016/06/22(水) 11:25

遅くなってすいません。
ねむねむさんの式、完璧です!

しかも、範囲を限定する式まで…
感激しました。

ちなみに、東京・千葉にあたる項目は60程あり、
地域ごとに果物の数(行数)が違うので本当に助かりました。

他のみなさんの回答も参考になりました。
貴重な時間を割いてくださって、
どうも有難うございました!!
(いちご) 2016/06/25(土) 11:18


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.