• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルで特定条件のものだけ別ファイルへ)

エクセルで特定条件のものだけ別ファイルへ

このQ&Aのポイント
  • エクセル2010を使用しています。
  • F列の中で「キャンセル」という条件の顧客名・商品名を別ファイル「名簿.xlsx」から順次に抽出する方法を教えてください。
  • フィルターではなく関数を使って解決したいです。

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

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

名簿.xlsxファイルに以下の数式を入力して右方向に1つ、下方向に適当数オートフィルコピーしてください。 =INDEX(受注.csv!B:B,SMALL(INDEX((受注.csv!$F$2:$F$1000<>"キャンセル")*1000+ROW(F$2:$F$1000),),ROW(A1)))&"" csvファイルの場所が決まっていない場合は、絶対パスでそのファイルの場所を指定してください。

m_yas_mail
質問者

お礼

どうもありがとうございます。

その他の回答 (3)

noname#204879
noname#204879
回答No.4

なぜ「フィルターとかじゃなくて関数で」なのですか? その理由に興味を覚えます。

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

No.1です! たびたびごめんなさい。 前回はBook名が違っていましたね。 >名簿.xlsx を >受注CSV.xlsx に変更してください。 どうも失礼しました。m(__)m

m_yas_mail
質問者

お礼

早々に回答いただきましてありがとうございました。 大丈夫です。Book名変更してやってみています。 ありがとうございます。

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

こんにちは! 関数での方法がご希望だということなので・・・ 一例です。 ↓の画像で上が「名簿」BookのSheet1で、下の別ファイルに表示するとします。 元データのSheetに作業用の列を設けています。 作業列H2セルに =IF(F2="キャンセル",ROW(),"") という数式を入れオートフィルでずぃ~~~!っと下へコピーしておきます。 そして表示したいBookのA2セルに =IF(COUNT([名簿.xlsx]Sheet1!$H:$H)<ROW(A1),"",INDEX([名簿.xlsx]Sheet1!B:B,SMALL([名簿.xlsx]Sheet1!$H:$H,ROW(A1)))) という数式を入れ列方向・行方向にオートフィルでコピーすると 画像のような感じになります。 ※ あくまでやり方だけなので実際のデータに合わせてやってみてください。 参考になりますかね?m(__)m

関連するQ&A

専門家に質問してみよう