• ベストアンサー

Excel 検索値について

どなたかご教授ください。宜しくお願い致します。 【Sheet1】 --------------------------------------------------   A   |   B  |  C   |  D(AとBを繋げた番号) -------------------------------------------------- 店舗番号 | 支店番号 |  売上  | 管理番号  -------------------------------------------------- 369    |   1  | 123,000 | 369-1 -------------------------------------------------- 258    |   1  |  45,000 | 258-1 -------------------------------------------------- 258    |   2  |  45,000 | 258-2 -------------------------------------------------- 258    |   3  |  8,000 | 258-3 -------------------------------------------------- 147    |   1  |  9,000 | 147-1 -------------------------------------------------- 147    |   2  |  1,000 | 147-2 -------------------------------------------------- 【Sheet2】 -----------------------------------------   A   |   B  |  C   |   -----------------------------------------  検索値 |  258  |      |   ----------------------------------------- 検索値に店舗番号「258」を入力し、「258-1~258-3」の 売上を下記のように表示させたいのですが、どうすれば 良いでしょうか。宜しくお願いします。 ↓ --------------------------      |  売上   | --------------------------      |  45,000  | ←258-1の売上 --------------------------      |  45,000  | ←258-2の売上 --------------------------      |  8,000   | ←258-3の売上 --------------------------      |        | --------------------------      |        | --------------------------  合計  |  98,000   | --------------------------

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

  • ベストアンサー
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

シート2のB1セルに検索値があるとして、どの場所でもよいのですが、仮にB2セルから下方に売上高を表示するのでしたらB2セルに次の式を入力して下方にオートフィルドラッグします。 =IF(COUNTIF(Sheet1!D:D,B$1&"-"&ROW(A1))=0,"",SUMIF(Sheet1!D:D,B$1&"-"&ROW(A1),Sheet1!C:C))

noname#110648
質問者

お礼

こちらも試してみたところ、望んでいた通りの表示になりました。 お二人に良点を付けたいのですが、KURUMITOさんの方が簡素でした ので、良点を付けさせて頂きました。

その他の回答 (1)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.1

こんにちは! 色々方法はあるかと思いますが・・・ 一例です。 ↓の画像でSheet1に作業用の列を設けています。 作業列E2セルに =IF(Sheet2!$A$2="","",IF(A2=Sheet2!$A$2,ROW(A1),"")) という数式を入れ、オートフィルでずぃ~~~!っと下へコピーします。 そして、Sheet2のB2セルは =IF(COUNT(Sheet1!$E$2:$E$100)<ROW(A1),"",INDEX(Sheet1!$D$2:$D$100,SMALL(Sheet1!$E$2:$E$100,ROW(A1)))) C2セルは =IF(B2="","",INDEX(Sheet1!$C$2:$C$100,MATCH(B2,Sheet1!$D$2:$D$100,0))) という数式を入れ、B2・C2セルを範囲指定し、C2セルのフィルハンドルで下へコピーすると 画像のような感じになります。 合計欄のC10は単純に =SUM(C2:C9) としているだけです。 これでSheet2のA2セルに検索値を入力すると Sheet1の店番全てが表示されると思います。 尚、数式はSheet1の100行目まで対応できるようにしていますが、 データ量によって範囲指定の領域はアレンジしてみてください。 以上、長々と書きましたが、参考になれば幸いです。m(__)m

noname#110648
質問者

お礼

ご丁寧に画像付きで大変分かり易く説明をしてくださり ありがとう御座いました。 早速、試してみたところ、望んでいた通りの表示を させる事が出来ました。 本当にありがとうございました。

関連するQ&A

専門家に質問してみよう