[[20230128135502]] 『VLOOKUPで同じ内容を反映しない方法、他の関数もax(ウイッシュ) ページの最後に飛ぶ

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

 

『VLOOKUPで同じ内容を反映しない方法、他の関数もあれば教えてください。』(ウイッシュ)

Sheet1のA列に該当する文言をSheet2のA列に同じもの文言があってSheet1のA列の
並びのB列の文言を、Sheet2のB、C、D、Eに同じもの文言が被らないように入れる方法はございますでしょうか?
Vlookupで試してみたのですが、同じ内容のものも引っ張ってきてしまったので、他に方法があれば教えてください。

言葉では説明しにくいので、表でもお知らせします。

Sheet1

     |[A]      |[B]    |  
 [1] |RED      |KEN    | 
 [2] |BLUE     |SUSAN  |
 [3] |PUPLE    |STACY  |
 [4] |RED      |KEN    |           
 [5] |RED      |PETER  |     
 [6] |BLUE     |GEORGE |              
 [7] |PURPLE   |KATE   |                
 [8] |BLUE     |IZAC   |                  
 [9] |RED      |JEFF   |            
 [10]|RED      |TOM    |                  
 [11]|BLUE     |SUSAN  |
 [12]|PUPLE    |STACY  |     

Sheet2

     |[A]      |[B]    |[C]     |[D]     |[E]   |  
 [1] |RED      |KEN    |TOM     |PETER   |JEFF  | 
 [2] |BLUE     |SUSAN  |GEORGE  |IZAC    |
 [3] |PURPLE   |STACY  |KATE    |        |

< 使用 Excel:Excel2019、使用 OS:Windows10 >


こんなことでしょうか。

Sheet1!A1: =IFERROR(INDEX(Sheet2!$A$1:$A$3,SUMPRODUCT((Sheet2!$B$1:$E$3=C1)*ROW($A$1:$A$3))),"")

下にコピーします。

Excel2010しか使っていないので、Excel2019だと新しい関数が
あるのかも知れません。

(メジロ) 2023/01/28(土) 15:05:42


 これA列が異なる場合でB列が同じということはあるのだろうか?
 例えばRWD、BLUEにKENがあるというパターン。
(ねむねむ) 2023/01/28(土) 15:42:04

 違う色で同じ名前がない場合。
 Sheet2のB1セルに
 =IFERROR(INDEX(Sheet1!$B:$B,AGGREGATE(15,6,ROW($A$1:$A$30)/((Sheet1!$A$1:$A$30=$A1)*(COUNTIF(INDIRECT("Sheet1!B1:B"&ROW($1:$30)),Sheet1!$B$1:$B$30)=1)),COLUMN(A1))),"")
 と入力して下及び右へフィルコピー。

 違う色で同じ名前がある場合、式を
 =IFERROR(INDEX(Sheet1!$B:$B,AGGREGATE(15,6,ROW($A$1:$A$30)/((Sheet1!$A$1:$A$30=$A1)*(COUNTIFS(INDIRECT("Sheet1!a1:a"&ROW($1:$30)),$A1,INDIRECT("Sheet1!B1:B"&ROW($1:$30)),Sheet1!$B$1:$B$30)=1)),COLUMN(A1))),"")
 で。

 なお上記式はどちらもSheet1のデータが最大30行までに対応している。
(ねむねむ) 2023/01/28(土) 16:02:12

 >Sheet2
 >[3] |PURPLE   |STACY  |KATE
 例示で、Sheet1の PURPLE には「KATE」しかありませんけど? 
 STACY は PURPLE ではなく「PUPLE」
 それとも単なるスペルミス?

 だとして・・・
 ・Sheet1は 1〜30行目にデータ

 Sheet2
 B1 =IFERROR(INDEX(Sheet1!$B:$B,AGGREGATE(15,6,ROW($B$1:$B$30)/(MATCH($A1&Sheet1!$B$1:$B$30,Sheet1!$A$1:$A$30&Sheet1!$B$1:$B$30,0)=ROW($B$1:$B$30)),COLUMN(A1))),"")
                                                                                                                                      ~~~~~~~~~~~~
 右・下コピー

 ・B列の「KEN」が A列の「RED」にも「BLUE」にもあったら、どちらにも表示
 ・実際は A列からではなくても、最後の COLUMN(A1)の「A1」を変更しないように
 ・Sheet1は、実際は1行目からではなくても、波線部は必ず 1行目からにすること

 以上
(笑) 2023/01/28(土) 16:19:37

 作業列を使ってもいいのなら

 Sheet1
 C1 =IF(COUNTIFS($A$1:A1,A1,$B$1:B1,B1)=1,A1,"")
 下コピー

 Sheet2
 B1 =IFERROR(INDEX(Sheet1!$B:$B,AGGREGATE(15,6,ROW($B$1:$B$30)/(Sheet1!$C$1:$C$30=$A1),COLUMN(A1))),"")
 右・下コピー

 以上、参考まで
(笑) 2023/01/28(土) 16:37:11

 Sheet1が実際は 2行目以降からなら
 作業列を使った方法は下記に差し替え

 2行目からだとして

 Sheet1
 C2 =IF(COUNTIFS($A$2:A2,A2,$B$2:B2,B2)=1,A2&"#"&COUNTIF($C$1:C1,A2&"#*")+1,"")
 下コピー

 Sheet2
 B1 =IFERROR(INDEX(Sheet1!$B:$B,MATCH($A1&"#"&COLUMN(A1),Sheet1!$C:$C,0)),"")
 右・下コピー

 以上
(笑) 2023/01/28(土) 17:09:07

ありがとうございます。とっても参考になりました。
(ウイッシュ) 2023/01/29(日) 02:26:57

コメント返信:

[ 一覧(最新更新順) ]


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