• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルで別のシートに特定の項目を表示したいのですがどうすればいいでし)

エクセルで別のシートに特定の項目を表示する方法

このQ&Aのポイント
  • エクセルで別のシートに特定の項目を表示する方法を教えてください。
  • Sheet1のデータを参照して、Sheet2にSheet1の区分「02占い師」のデータのうち特定の項目(お名前、所在地、電話番号、サービス内容)を表示し、Sheet3にSheet1の区分「都道府県」のデータのうち特定の項目(お名前、所在地、電話番号、サービス内容)を表示する方法はありますか?
  • 特定の項目を表示するために、列幅をゼロにする方法以外の方法はありますか?

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

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

No.3です! たびたびごめんなさい。 前回の数式に少し間違いがありました。 Sheet2のA4セルは =IF(COUNTIF(Sheet1!$A$2:$A$2500,$A$1)<ROW(A1),"",INDEX(Sheet1!D$2:D$2500,SMALL(IF(Sheet1!$A$2:$A$2500=$A$1,ROW($A$1:$A$2499)),ROW(A1)))) に訂正してください。 ついでと言っては失礼ですが、 Sheet3のA4セルの数式も載せておきます。 =IF(COUNTIF(Sheet1!$B$2:$B$2500,$A$1)<ROW(A1),"",INDEX(Sheet1!D$2:D$2500,SMALL(IF(Sheet1!$B$2:$B$2500=$A$1,ROW($A$1:$A2449)),ROW(A1)))) どちらも配列数式ですので、前回同様に Shift+Ctrlキーを押しながらEnterキーで確定です。 どうも何度も失礼しました。m(__)m

aroma_de_uu
質問者

お礼

tom04さんありがとうございました。他にご回答下さった皆様もそうですが、どうしてこんな式を考えつくのでしょう。す・ご・す・ぎ・デ・ス。本当にありがとうございました。

その他の回答 (3)

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

こんにちは! 他の方の回答と重複すると思いますが、 途中に「〒」の列が入っていますので、希望通りにやろうとすると 単純に列方向にオートフィルでコピーは出来ないと思いますので、 数式を二つ作る必要があります。 それよりも他の方が仰っているようにとりあえず不必要なデータも表示させて、必要ない列を「非表示」にした方が簡単だと思います。 ↓の画像でとりあえずSheet2の表だけ作ってみました。 Sheet1の最初の3列は必要ないようなので、数式の範囲指定を「お名前」のD列から行います。 Sheet2のA4セルに =IF(COUNTIF(Sheet1!$A$2:$A2500,$A$1)<ROW(A1),"",INDEX(Sheet1!D$2:D$2500,SMALL(IF(Sheet1!$A$2:$A2500=$A$1,ROW($A$1:$A$2449)),ROW(A1)))) これは前回同様に配列数式になってしまいますので、 この画面からSheet2のA4セルに貼り付け後、F2キーを押す、又はA4セルでダブルクリック、又は数式バー内で一度クリックしてみてください。 編集可能になりますので、Shift+Ctrlキーを押しながらEnterキーで確定します。 配列数式になりますので、これを列方向と行方向にオートフィルでコピーすると 画像のようになります。 そして、B列が不必要になりますので、 B列全てを範囲指定(列番号の「B」のところでクリック) → 右クリック 「表示しない」を選択してはどうでしょうか? 以上、長々と書きましたが 参考になれば幸いです。m(__)m

aroma_de_uu
質問者

お礼

tom04さんありがとうございました。

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.2

職種: 随意のセルに =INDEX(Sheet1!A:A,SMALL(IF(Sheet1!$A$1:$A$2500=$A$1,ROW(Sheet1!$A$1:$A$2500),9999),ROW(A1)))&"" を記入してコントロールキーとシフトキーを押しながらEnterで入力する。 下にコピー,右にコピーし,その後不要な列を削除して左に詰める。 住所: 随意のセルに =INDEX(Sheet1!A:A,SMALL(IF(Sheet1!$B$1:$B$2500=$A$1,ROW(Sheet1!$B$1:$B$2500),9999),ROW(A1)))&"" を記入してコントロールキーとシフトキーを押しながらEnterで入力する。 下にコピー,右にコピーし,その後不要な列を削除して左に詰める。

aroma_de_uu
質問者

お礼

keithinさん、またも丁寧に回答くださいましてありがとうございます。A列を削除しないように教えていただいた式を使わせていただきます。余談ですが、この式を入れてシートをこちゃこちゃしていると、シート数が全部で35シート、重さも2500キロバイト?(←この表現は正しくないかも)になりました。 元のシートを1行削除したら、「ただいま考え中」が長く続きます。これはしかたないですよね。いずれにせよありがとうございました。

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.1

以前の質問と全く同じように思いますが、具体的にどの部分がわからないのでしょうか? 最も簡単な対応は、ひとまずすべての列を右方向にオートフィルしすべてのデータを表示しておき、必要な列のデータだけを表示したいセルに移動し、他の列は削除します。 ちなみに数式セルを、そのまま移動するには以下のような操作をします。 移動したい数式セルを選択してセルの周囲にカーソルを合わせ、移動先のセルにドラッグアンドドロップします。

aroma_de_uu
質問者

お礼

MackyNo1さんありがとうございました。必要な列を残して削除するとどうしてもうまくひょうじされなかたんです。ようやくわかったのですがA列を削除したのがいけなかったのかもしれません。 いずれにせよ親切にご回答管さましてありがとうございました。