- ベストアンサー
Excel 表の一部を表示
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
可能です。 別シートの仕様がわからない為、あくまで参考と言う事でお願い致します。 A表とB表のSID一致のチェックにはIF関数とCOUNTIF関数を使用します。 指定列から一致した行の特定列を参照するにはLOOKUP関数かVLOOKUP関数を使用します。 例:A表のB列からSID「1」を探し、一致した場合「会社名」を返す LOOKUPを使った方法 =if(countif($B$3:$B$10,1),LOOKUP(1,B3:B10,D3:D10),"") ※住所を返す場合はD3:D10となっている部分をE3:E10に変更する(LOOKUP(1,B3:B10,E3:E10)) VLOOKUPを使った方法(一致したSIDのある行の3列目を返す) =if(countif($B$3:$B$10,1),VLOOKUP(1,A3:E10,3,FALSE),"") ※住所を返す場合は3となっている部分を4に変更する(VLOOKUP(1,A3:E10,4,FALSE)) ※1となっている部分の値はセル指定でも可能です。 ※countif関数の範囲は一致しているかどうかを判断するIDのある範囲を指定します。 ※どちらも一致しているかどうかチェックする値を指定しなければ使用出来ない関数です。 以上、試してみて下さい。
その他の回答 (3)
- dogs_cats
- ベストアンサー率38% (278/717)
sheet1:データシート sheet2:抽出先シート sheet2のレイアウトは下記の通りに変更する。 1行目 B表から重複しないSID番号を抽出(社名、住所、営業区域抽出の用データ) 2行目 社名 3行目 住所 4行目以降 営業区域 下記数式を指定セルにコピー sheet2 A1式 =Sheet1!E15 B1式 =IF(OR(A1="",A1=MAX(Sheet1!$E$15:$E$22)),"",SMALL(Sheet1!$E$15:$E$22,COUNTIF(Sheet1!$E$15:$E$22,"<="&A1)+1)) B1式を右方向にオートフィル A2式 =IF(A1="","",IFERROR(VLOOKUP(A$1,Sheet1!$B$2:$E$10,ROW(A3)),"")) A2をA3までオートフィル A2~A3を右方向にオートフィル A3式 =IF(COUNTIF(Sheet1!$E$15:$E$22,A$1)<ROW(A1),"",IFERROR(VLOOKUP(INDEX(Sheet1!$F$15:$F$22,SMALL(IF(Sheet1!$E$15:$E$22=A$1,ROW(A$1:A$8)),ROW(A1))),Sheet1!$B$15:$C$20,2),"")) 配列数式の為、カーソルが数式バーにある状態でCTRL+SHIFT+Enterキーを同時押し。数式バー内の数式が{}で挟まれた状態で確定。 A3を右方向にオートフィル、そのまま下方にオートフィル 配列数式 http://office-qa.com/Excel/ex69.htm 元データのレイアウトやデータ数が変化する場合は適宜修正が必要です。 添付画像の画像域を小さくする為にsheet1の不要な行、列は非表示としていますので注意下さい。
お礼
回答ありがとうございます。 参考にさせていただきます。
- kagakusuki
- ベストアンサー率51% (2610/5101)
どの様な状況の下でその様な処理を行いたいと仰るのか良く解りません。 質問者様が挙げておられる添付画像の例では、A表のSIDは1から8までの数値が1つずつしか存在していないというのに、B表ではSIDが同じになっている行であっても市町村IDが異なっているものが複数あるのは何故なのでしょうか? 例えば、B表においてSIDが2となっている行が6行もあり、それらの行には2、3、4、5、6とそれぞれ異なる市町村IDが表示されていますが、これはどうしてなのでしょうか? pppppという住所はaa町でありながらbb町でもあるとともに、cd村やop村でもあるという意味なのでしょうか?
お礼
回答ありがとうございます。 aa会社の取引をしている市町村がbb町やcd村、op村であって、そのほかの会社のbb会社やcc会社でも同じ市町村と取引をしているという意味です。 この説明でわかるでしょうか。
- aokii
- ベストアンサー率23% (5210/22062)
マクロ無しで、可能です。VLOOKUP関数を使ってみてください。
お礼
回答ありがとうございます。 参考にさせていただきます。
お礼
回答ありがとうございます。 大変助かりましたありがとうございました。。