- ベストアンサー
エクセルでデータ抽出方法について教えてください
- エクセルでデータ抽出方法について教えてください。行/列にデータがあり、特定の列の値に基づいて別表を作成したいです。別表には特定の項目だけ表示されるようにしたいです。また、別表はリアルタイムで更新されるようにしたいです。
- エクセルでデータ抽出方法を教えてください。行列形式のデータから特定の列の値に基づいて別表を作成する方法を知りたいです。別表には特定の項目だけ表示されるようにしたいです。また、別表は自動で更新されるようにしたいです。
- エクセルのデータ抽出方法について教えてください。行列形式のデータから特定の列の値に基づいて別表を作成する方法を知りたいです。別表には特定の項目だけ表示されるようにしたいです。別表はリアルタイムで更新されるようにしたいです。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
「列(項目)がAZまで、行は500位まであ」る「実際のデータは」Sheet1 にあると仮定し、セル BA2 に式 =IF(Sheet2!B$1=C2,ROW(),"") を入力して、此れを必要なだけ下方に(500行位まで?)ズズーッと複写しておきます。(目障りなら、この列を非表示にしておけば?) Sheet2 A B C 1 進捗状況 受注 2 3 品番 商品分類 納品予定日 4 t-550 コード 2007/10/28 5 h-890 ジャック 2007/11/2 6 Sheet2 において、 1.セル B1 に次の入力規則を設定 [入力値の種類] → リスト [元の値] → 受注,納品済 2.セル A4 に次式を入力後、此れを右方にセル C4 までドラッグコピー 3.範囲 A4:C3 を必要なだけ下方に(100行でも 300行でも 500行でも)ズズーッと複写
その他の回答 (4)
- imogasi
- ベストアンサー率27% (4737/17069)
毎日ぐらい出る、またかという質問のタイプです。 興味があれば、Googleなどで「imogasi方式」で照会してもらえば OKWAVEの質問例が沢山出てきます。 その中の2-3を見て適当なものをやってみてください。 その中に私の回答と、他の方の回答が出てきます。 作業列を使うので、#3のご回答のタイプですが、ちょっと違うところもあります。 ーーー 関数での希望が多いが、 別シート全体が、長い式で埋まるので、処理に影響が出るかもしれません。ですから余り良い方法ではない。 VBAなどで処理するのが望ましい。 ーーー >できたらリアルタイムで更新される 関数で実現したら、引数セルの変更に対し即時再計算します。 わざわざ書く必要は無いのは常識。
ANo.3です。 ステップ2の「次式」を書き漏らしていました。次式です。 =IF(ISERROR(SMALL(Sheet1!$BA:$BA,ROW(A1))),"",OFFSET(Sheet1!$A$1,SMALL(Sheet1!$BA:$BA,ROW(A1))-1,MATCH(A$3,Sheet1!$A$1:$F$1,0)-1))
- te12889
- ベストアンサー率36% (715/1959)
一番簡単なのは「オートフィルタ」ですね、たぶん。関数は使わないで済みます。(「半手動」ですが、ご希望の表はできると思います。) http://www.eurus.dti.ne.jp/~yoneyama/Excel/filter.htm 又は、C列をキーにしてソート(並べ替え)して、項目が変わる行で改ページするという方法もあると思います。こちらも関数は不要ですね。
お礼
オートフィルタではなくやりたかったので・・・
- Zero_0
- ベストアンサー率35% (72/201)
思いつきで解答します、もっといい方法があるかもしれませんが、 行/列|A|B|C|D|E|F・・・・・・・・・・・・・・・・・・AA/AB 1|品番|商品分類|進捗状況|担当者|(仮)受注日|納品予定日・・ 2|k-101|スピーカー|納品済|鈴木|2007/10/20|2007/10/31・・=if(C2="受注",row(),"")/=if(C2="納品済",row(),"") のようにどこかに計算式を入れます。 そうするとC2の値が一致するものだけの行番号がセルに入ります。 別シートで 元シートのAAに受注をセットしたとしてその一覧を作ると 行/列|A|B|C|D|E|F 1/連番/元行/品番/商品分類/納品予定日 2/1/=SMALL(sheet1!AA$2:AA$500,A2)/=INDIRECT("sheet!A"&B2)/=INDIRECT("sheet1!C"&B2)/=INDIRECT("sheet1!D"&B2) 3/2/=SMALL(sheet1!AA$2:AA$500,A3)/=INDIRECT("sheet1!A"&B3)/=INDIRECT("sheet1!C"&B3)/=INDIRECT("sheet1!D"&B3) のようにすればできると思います。 エラー処理等まったくしていませんのでそのあたりを作らなければなりませんが。
お礼
エラーが解決できれば良かったのですが、参考になりました。 ありがとうございました。 お礼が遅くなりすいません。
お礼
参考になりました。 解決することができました。 ありがとうございました。 お礼が遅くなりすいません。