• ベストアンサー

Excel 表の一部を表示

添付した画像内のA表のSIDとB表のSIDが一致した場合、別シートのA1:A2にA表の会社名と住所を関数を使って表示することは可能ですか? (また、B表とC表も同じように関連付けを行って最後にA表の会社名と住所、C表の営業区域の市町村を別のシートに関数を使って表示させることは可能でしょうか。) 無理な場合は、マクロでの記述方法をお願いいたします。 よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • xpz3
  • ベストアンサー率63% (53/84)
回答No.1

可能です。 別シートの仕様がわからない為、あくまで参考と言う事でお願い致します。 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のある範囲を指定します。 ※どちらも一致しているかどうかチェックする値を指定しなければ使用出来ない関数です。 以上、試してみて下さい。

pigumin
質問者

お礼

回答ありがとうございます。 大変助かりましたありがとうございました。。

その他の回答 (3)

  • dogs_cats
  • ベストアンサー率38% (278/717)
回答No.4

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の不要な行、列は非表示としていますので注意下さい。

pigumin
質問者

お礼

回答ありがとうございます。 参考にさせていただきます。

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.3

 どの様な状況の下でその様な処理を行いたいと仰るのか良く解りません。  質問者様が挙げておられる添付画像の例では、A表のSIDは1から8までの数値が1つずつしか存在していないというのに、B表ではSIDが同じになっている行であっても市町村IDが異なっているものが複数あるのは何故なのでしょうか?  例えば、B表においてSIDが2となっている行が6行もあり、それらの行には2、3、4、5、6とそれぞれ異なる市町村IDが表示されていますが、これはどうしてなのでしょうか?  pppppという住所はaa町でありながらbb町でもあるとともに、cd村やop村でもあるという意味なのでしょうか?

pigumin
質問者

お礼

回答ありがとうございます。  aa会社の取引をしている市町村がbb町やcd村、op村であって、そのほかの会社のbb会社やcc会社でも同じ市町村と取引をしているという意味です。 この説明でわかるでしょうか。

  • aokii
  • ベストアンサー率23% (5210/22062)
回答No.2

マクロ無しで、可能です。VLOOKUP関数を使ってみてください。

pigumin
質問者

お礼

回答ありがとうございます。 参考にさせていただきます。

関連するQ&A

  • エクセルで順位表を並び替えたい。同順位表示方法は?

    エクセルで順位表を別シートに並び替えたいと考えていますが、同点になった場合はどうしたらよいでしょうか? シート1で集計した結果を参照し、シート2に上から順に1位から表示させる表を作りたいです。 試行錯誤の結果、下記まで作業しました。 ========= <シート1>     A        B       C           (1)商品名  (2)販売額  (3)ランキング  1    a     1000       2 2   b     1500      1 3  c     1000      2 4  d     500      4 5  e     300      5 (1)手入力 (2)SUM関数で集計した値 (3)RANK関数 <シート2>     A        B    C (3) ランキング  (1)商品名 (2)販売額 1 2 3 4 5 (3)手入力 (2)INDEXとMATCH関数 (3)INDEXとMATCH関数 ========= 1)シート2の(3)ランキングをシート1を参照し降順で自動表示させる方法を教えてください。 今は手入力なので、同順位があった場合にずれが生じてしまいます。 2)シート2に同順位表示のまま並び替えする方法を教えてください。 INDEX関数とMATCH関数を使っていましたが、 シート1で同順位表示されていた箇所が、シート2で表示できませんでした。 どうぞ宜しくお願いいたします。

  • ★★エクセル 縦の表を横に表示したい★★

    お世話になります。 エクセル表で シート1に NO コード  名称 が縦にあります。 1  A あ 2 B     い 3 C     う シート2に B1 C1 D1 1 2 3 B2 C2 D2 A B C B3 C3 D3 あ  い う    と表示したいのです。 良いは関数はありますか? よろしくお願いします。

  • EXCELの表を並べ替えたい

      A  B  C 1 A社 住所 商品1 2 A社 住所 商品2 3 B社 住所 商品3 4 C社 住所 商品4 5 C社 住所 商品5 6 C社 住所 商品6  上の図のようなEXCELの表があります。A列1行に A社が入力 されていると いう意味で書いています。 1つの会社につき商品は 1~10商品 あります。 これを A社 住所 商品1 商品2 B社 住所 商品3 C社 住所 商品4 商品5 商品6  というように 会社ごとに 横に商品名を並べたいと思います。 関数でできないでしょうか? よろしく お願いします。

  • エクセルの関数を使って、表示させたい!

    エクセルでの質問です。なにぶん、初心者なのでよろしくお願いします。 一覧表の横に金額表があり。C列に最安値を表示したいと思い、 関数「MIN」を使って表示さています。 会社名をB列のセルに関数を使って表示させたいのですが、金額が同数値の場合、 同じセルに2つ(複数)の表示は可能でしょうか? よろしくお願いします。 例) 一覧表   A     B      C    D  1 行先  会社名   最安値 2 →あ    320 3 →い    120 4 →う     300  5 別途金額表    E    F    G   H 1  行先 会社A 会社B 会社C 2  →あ  500  500  320   3  →い  120  320  450 4  →う  300  400  300

  • データベースを別の表に自動で表示したい

    エクセルで作ったデータベース、例えば住所録を別のシートに作った 表に自動で表示させ、印刷したいのですが。 A1 ○さん B1 生年月日 C1 住所 A2 ×さん B2 生年月日 C2 住所 以下、200件ほどあります。 別のシートの表は人数分あるのではなく1つで、チェックを入れたりすることで、その人の分が次々と印刷されていくようなものを作りたいのですが、そのようなことがエクセルで可能でしょうか? マクロを設定しないといけないでしょうか?アクセスではできないですか?

  • EXCELの抽出・並び替え

    <SHEET 1>    A  B C D 1 会社 ABC 住所  東京都   2 電話  03- 売上  6200 3 設立 7704  従業員 2000     A  B C D 1 会社 DEF 住所  大阪府   2 電話  06- 売上  200 3 設立 9905  従業員 520         シート1に「会社名のあいうえお」順に上記のような表がたくさんあるとします。 <SHEET 2> A B C 会社   売上   住所  ABC  6200 東京都  DEF  200 大阪府 シート2には、シート1の表の項目「会社」「売上」「住所」だけをピックアップし、「売上順」に上記のような 表を作成したいのですが、どうすればいいでしょうか? あまり難しい関数はわかりません。    

  • エクセル 長い表を2つに分けて表示する方法

    B2~D21に空白行の入ったA表があり当データをB表(F2~H8)とC表(J2~L13)に分けてデータを表示したい。 B表のデータ5行以降はC表に折り返し表示させる。 関数を使用して2つの表に分けて表示するにはどのようにしたらよいでしょうか。 よろしくお願いします。

  • エクセルの表からの検索

    商品名/Kg  3k  4k  5k りんご    800円 900円 1000円 みかん    700  800   900 オレンジ    600  700    800 なし      500   600    700 別シートに作成した上記の様な表を参照して、 A1のセルに商品名のりんご  B1のセルに3キロと入力すると C1のセルに800と表示されるようにしたいのですが、 簡単な関数等ありましたら教えてください。 よろしくお願い致します。

  • エクセルでの顧客管理

    エクセル初心者です。顧客管理で2件こまっています。 (1)A列・・会社名、B列・・携帯番号、C列・・担当者名です。別の表にVLOOKUPによって検索したい会社名前を入れると携帯番号と担当者が表示されるようになっています。しかし、同じ会社に複数の担当者がおり複数担当者がいる場合は使えません、同会社の全員の携帯番号と担当者名が出てくるような関数もしくは方法はありませんか?会社ではアクセスが使える環境ではありません。なんとかエクセルのみで乗り切るのは難しいでしょうか? (2)(A)のワークシートにA列顧客名 B列住所 C列担当者名(3人)のデータがあります。このデータを担当者別にそれぞれの担当者のワークシートに反映させたいのです。追加の顧客は(A)で入力しそれが各担当者別のワークシートに反映される方法はありませんか?

  • エクセルで0を表示させずに(一部)累計を出したい!

    いつもお世話になっています。 ≪シート2≫      ≪シート1≫    A(単月)B(累計)    A(単月)B(累計) 1│1    2        1   1 2│              3│2    2         4│2    4        2   2 5│1    1         このような場合にBのセルに入れる関数は?? =IF(シート11B="",シート21A,シート11B+シート21A) とすると、シート2の2Bが“0”となってしまいます。 ここに0と表示させないような累計の式。。 (0は一部必要な為、全部非表示するわけにはいきません) どうかよろしくお願いします。