
すいません、よく似た質問が何度も出ているのはわかっているのですが、うまくできません。
エクセル2007で図のような表を作成しています。
A欄の「件名」のあ、い、う、は決まっていて、B欄の「数値」に当てはまる数字を入力すると、
C欄の「種類」に1~10はA、11~20はB、21以上はCという関数を入れます。
そこまではできたのですが、
別シートにAのみ、次のシートにBのみとシート毎に種類別のシートを作りたいのです。
オートフィルタだと数がたくさんあるので、関数で抜き出したいです。
お得意な方どうか、教えてください。よろしくお願いします。

No.4ベストアンサー
- 回答日時:
Sheet1に元データがあるとします。
種類Aのシート名はSheetA、種類BはSheetBのように定義したとして説明します。
SheetAのC1セルに種類の文字"A"を入力します。
SheetAのA2セルに次の数式を入力します。
=IFERROR(INDEX(Sheet1!$A$1:$B$6,SUMPRODUCT(LARGE((Sheet1!$C$1:$C$6=$C$1)*ROW(A$1:A$6),COUNTIF(Sheet1!$C$1:$C$6,$C$1)-ROW(A1)+1)),COLUMN()),"")
A2セルをB2へコピーし、A2とB2を選択して下へ必要数コピーします。
SheetAの必要範囲(全範囲でも良い)を選択し、コピー&ペーストでSheetBへコピーします。
SheetBのC1セルの文字を"B"に変更します。
SheetCはSheetBに準じてコピー&ペーストで作成してください。
提示されたデータの範囲で数式を組み立てていますので実際のデータに合わせて行番号を変更してください。

ありがとうございました!できました。うれしいです!!
後もしできたら
別のシートに、AとBの両方が混じったデータを抽出したシートも作りたいのですが、それもできますでしょうか?
No.3
- 回答日時:
No.2です。
前回は大きな勘違いをしていました。
無視してください。m(_ _)m
No.2
- 回答日時:
こんばんは!
今回の場合は種類が少ないので、IF関数のネストで対応できますが、
今後のために・・・
種類がいくつでも対応できる方法です。
↓のような対応表を作成しておきます。
そして、C2セルに
=IF(B2="","",VLOOKUP(B2,E:G,3,1))
という数式を入れフィルハンドルで下へコピー!
これで画像のような感じになります。
※ 表を作成せずにやる方法としてはC3セルに
=IF(B2="","",INDEX({"A","B","C"},MATCH(B2,{0,11,21},1)))
という数式を入れ下へコピー!
これでも同様の結果になると思います。m(_ _)m

No.1
- 回答日時:
ご質問の画像はご相談で書かれてるエクセル2007じゃありませんが、実際どっちを使ってるのでしょう。
ご利用のソフトのバージョンによって、簡単な関数で出来たり、結構メンドクサイ事をしなきゃならなかったりします。
ここでは画像のエクセル2003を含めて全部のバージョンで使える代わりに、数式自体はメンドクサイやり方でお話しすることにします。
【あなたにも必ずできる簡単な方法】
Sheet1に元データ
件名をB列
数値をC列
種類をD列
にそれぞれ配置する
A1には「検索キー」と記入
A2には
=IF(D2="","",D2&COUNTIF($D$2:D2,D2))
と記入、以下コピーしておく
「A」のシートの
A1には件名、B1に数値と記入
A2には
=IF(ROW(A1)>COUNTIF(Sheet1!D:D,"A"),"",VLOOKUP("A"&ROW(A1),Sheet1!A:D,2,FALSE))
B2には
=IF(A2="","",VLOOKUP("A"&ROW(A1),Sheet1!A:D,3,FALSE))
と記入、以下コピーしておく
【数式はめんどくさいけどコピーだけするのは簡単な方法】
(もっとも似たようなご相談と回答は必ず毎日こちらのような相談室に寄せられるので、それらを見て出来なかったのなら改めていま教わってもやっぱり出来ないかもしれません)
Sheet1に元データ
件名をA列
数値をB列
種類をC列
にそれぞれ配置する
「A」のシートの
A1には件名、B1に数値と記入
A2には
=IF(ROW(A1)>COUNTIF(Sheet1!C:C,"A"),"",INDEX(Sheet1!A:A,SMALL(IF(Sheet1!$C$1:$C$1000="A",ROW($C$1:$C$1000),9999),ROW(A1)))&"")
と記入、必ずコントロールキーとシフトキーを押しながらEnterで入力、以下コピーする
B2(簡易版)には
=IF(A2="","",VLOOKUP(A2,Sheet1!A:B,2,FALSE))
と記入、以下コピーする
すみません、エクセルは家のが2003だったので、その画面が出てしまいました。今会社のを確認したらさらに、2010でした。
そしてなんかうまくいきませんでした。。。
せっかく考えてくださったのに、ごめんなさい。
またよい方法がありましたら教えてください。ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VLOOKUP FALSEのこと
-
空白のはずがSUBTOTAL関数でカ...
-
同じ名前(重複)かつ 日本 ア...
-
【マクロ】数式を入力したい。...
-
if関数の複数条件について
-
excel
-
Excelで4択問題を作成したい
-
エクセルシートの見出しの文字...
-
表計算ソフトでの様式の呼称
-
空白処理を空白に
-
【マクロ 画像あり】Exact関数...
-
エクセルでフィルターした値を...
-
【マクロ】既存ファイルの名前...
-
勤怠表について ABS、TEXT関数...
-
【マクロ】実行時エラー '424':...
-
Excel 複数のセルが一致すると...
-
Excel 日付の表示が直せません...
-
【マクロ画像あり】❶1つの条件...
-
【マクロ】【画像あり】4つの...
-
【マクロ】【相談】Excelブック...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルでフィルターした値を...
-
if関数の複数条件について
-
エクセルシートの見出しの文字...
-
excel
-
エクセルの文字数列関数と競馬...
-
VLOOKUP FALSEのこと
-
同じ名前(重複)かつ 日本 ア...
-
表計算ソフトでの様式の呼称
-
エクセルに写真が貼れない(フ...
-
【マクロ】数式を入力したい。...
-
【マクロ】実行時エラー '424':...
-
【画像あり】オートフィルター...
-
Office2021のエクセルで米国株...
-
【画像あり】【関数】指定した...
-
エクセルのVBAで集計をしたい
-
【マクロ】【画像あり】4つの...
-
【関数】3つのセルの中で最新...
-
【マクロ】excelファイルを開く...
-
LibreOffice Clalc(またはエク...
-
エクセルのライセンスが分かり...
おすすめ情報