条件にあった行の文章をリストアップしたい

このQ&Aのポイント
  • NO1シートのAセルに「あ」~「お」の文字が入力されている。Bセルにはいろいろな文章が入力されており、Cセルにはいろいろな数字が入力されている。NO2シートのAセルにはNO1シートのAセルの「あ」の行にあたるBセルの文章を表示し、BセルにはNO1シートのAセルの「あ」の行にあたるCセルの数字を表示したい。同様に「い」~「お」までを繰り返し、結果をEセル~Jセルに表示することが目的です。
  • 上記の要件を満たすためには、ExcelのVLOOKUP関数を使用することで行の文章と数字を関連付けることができます。VLOOKUP関数を使用してNO1シートのAセルの値に一致するBセルの文章とCセルの数字を取得し、NO2シートの該当するセルに代入することで実現できます。
  • また、ExcelのIF関数を使用してNO1シートのAセルの値が「あ」の場合はNO2シートのAセルにBセルの文章を表示し、BセルにCセルの数字を表示する処理を行い、次に値が「い」の場合に同様の処理を行うことで、条件にあった行の文章をリストアップすることができます。
回答を見る
  • ベストアンサー

条件にあった行の文章をリストアップしたい

NO1というシートは Aセルに、「あ」~「お」の文字が入力されています。 Bセルには、いろいろな文章が入力されています。 Cセルには、いろいろな数字が入力されています。 それで NO2というシートの AセルにNO1シートのAセルの「あ」の行にあたる、Bセルの文章を BセルにNO1シートのAセルの「あ」の行にあたる、Cセルの数字を表示させたいです 同じように CセルにNO1シートのAセルの「い」の行にあたる、Bセルの文章を DセルにNO1シートのAセルの「い」の行にあたる、Cセルの数字を表示させたいです 同じように「う」~「お」を、Eセル~Jセルまで繰り返していきたいです。 例:NO1シートのAセルが「あ」のときのNO2シート Aセル     Bセル      Cセル     Dセル あの各文章  あの各数字  いの各文章  いの各数字 あの各文章  あの各数字  いの各文章  いの各数字 あの各文章  あの各数字  いの各文章  いの各数字 あの各文章  あの各数字  いの各文章  いの各数字 あの各文章  あの各数字  いの各文章  いの各数字 こんな事はできるのでしょうか? 教えてください。 よろしくお願いいたします。

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

  • ベストアンサー
  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.1

次の方法は如何でしょうか。 (1)以下の配列数式を入力、入力完了時にshift+ctrl+enterキーを同時押下して下さい。 A1に=IF(COUNTIF(NO1!$A:$A,"あ")>ROW(A1)-1,INDEX(NO1!$B:$B,SMALL(IF(NO1!$A$1:$A$100="あ",ROW(NO1!$A$1:$A$100),99999),ROW(A1))),"") B1に=IF(COUNTIF(NO1!$A:$A,"あ")>ROW(B1)-1,INDEX(NO1!$C:$C,SMALL(IF(NO1!$A$1:$A$100="あ",ROW(NO1!$A$1:$A$100),99999),ROW(B1))),"") (2)A1:B1を選択して右方向にJ列までコピー (3)C1,D1の数式の”あ”を”い”に変更し、shift+ctrl+enterキーを同時押下。これをJ列の”お”まで繰り返す (4)A1:J1を選択し、必要分下方向にコピー

関連するQ&A

  • 別シートの行を選択し対象列を転記するマクロ

    シート2のA~F列までデータがあります。 行数は10,000行です。(月ごとに100行くらい追加されます。) A列は項目がNO.で半角数字が連番で入力されてます。 セルA2→1 セルA3→2 セルA4→3 . . . セルA10000→9999 セルA10001→10000 という感じです。 シート1の セルI9に番号を入力すると シート2のその番号の行のB~F列の値を シート1のJ9~N9列に転記したいです。 例えば シート1のセルI9に100と入力したら、 シート2のA列が100と入力されているセルはA101ですから 101行目となります。101行目の各列の値を転記します。 ↓ シート1のセルJ9にシート2のセルB101の値を転記 シート1のセルK9にシート2のセルC101の値を転記 シート1のセルL9にシート2のセルD101の値を転記 シート1のセルM9にシート2のセルE101の値を転記 シート1のセルN9にシート2のセルF101の値を転記 シート1もシート2もセルの書式設定は標準。 B,E,F列は半角英数字の組み合わせで C,D列は半角数字のみです。 たまにF列に空白がある行があります。 B,F列は数字のみの場合もあります。 B,C,D,F列は数字のみの場合 「数値が文字列として入力されています」 となっています。 マクロで行いたいのですが記述そのものを教えてください。

  • 条件に一致する行データを別シートに抽出する

    日付別の各データが入力された総括のシートがあり「0」とします。 別に13個の項目別シートを固定の様式で作ってあります。「1~13」とします。 シート「0」のB2~B30までセル上に入力するデータが1~13の整数として入力する訳ですが、その入力されたデータセルの中で該当する数字を条件として抽出し目的のシートの決められた座標から順に行を開けずに表示したいのです。 例えばシート「0」のB列に6という数字が入力されていたら同じ行A、C、Dのデータを全てシート「6」のA、B、Cに表示させたいのです。 同じように他の数字も該当するシートに該当する数字の全てを表示したいのです できるだけ判り易く教えてくださいお願いします。

  • 条件を満たす行の、特定の列における最小値

    以下のようなスプレッドシート(Excel)があります。    [A列] [B列] [C列] [D列] [E列] [1行]資材コード メーカー 単価 平均 最安 [2行]T1111 A 311 [3行]T1211 A 411 [4行]T1311 A 311 [5行]T1111 B 299 [6行]T1211 B 500 [7行]T1311 B 312 [8行]T1111 C 300 [9行]T1211 C 280 [10行]T1311 C 400 D列(D2~D10)には、 同じ資材コードの単価の平均が入ります。 これは、 SUMIF(A$2:A$10,A*,C$2:C$10)/COUNTIF(A$2:A$10,A*) (*には当該行番号が入る。) で、表現できました。 次にE列(E2~E10)には 同じ資材コードのもののうち、 最安となる単価を表示させたいのですが、 どう関数を組み合わせるのが、スマートなのかわかりません。 たとえば、E2セル、E7セル、E11セルは 資材コードT1111になっている行のうち、 単価(C列)が最低となる時の値を表示するようにしたいので、 C2セル=311、C7セル=312、C8セル=800のうち、最低である311が E2セル=311、E7セル=311、E8セル=311 にそれぞれ表示されるようにしたいのです。 わかりにくい説明で申し訳ありませんが、 疑義があれば、適宜補足しますので、指摘してください。 よろしくお願いいたします。

  • エクセル 条件式 条件と同じだと、行に色をつける

    エクセル2007、条件式 同じであれば、行に色をつけたい。 例:    A  B  C  D  E 1        あ     ○ 2 3 4 E1に“○”を入力されたら、1行に色をつける、 何も入力されない場合、1行は何の色もつけない。 しかし、以下の条件式 “セルの値が次の値に等しくない=E1="○"”を設定したら、 E1に“○”を入力したら、1行に色をつましたが、 E1の“○”を削除したら、C1に色をつけられてしまいました。 どうしてなのか?そして、この場合条件式をどう直せばいいのかを 教えていただけますでしょうか? よろしくお願いいたします。

  • VBA 条件の一致する行の特定のセルの削除について

    VBA初心者です。よろしくお願いします。 <sheet1>     A  B   C  D  E 1   1 1211 佐藤 10 100 2   2 1344  山田 25 150 3   3 1522 田中  5 80 4   4 1655  高橋 35 200 ・ ・ 100 100 3682 小林 40 300 <sheet2>    A   B 1 1344 2 この様な表があったとします。(見辛くてすみません) "sheet2"A1セルに入力した内容と同じ内容を"sheet1"のB列から検索し、その行のB~Eのセルを削除するにはどのようにしたら良いでしょうか? 例えば"sheet2で"「1344」と入力した場合、"sheet1"の「1344」のある2行目のB~Eのセルを削除するといった感じです。 削除後の空白は詰める必要はなく、マクロを記録させるボタンは"sheet2"に貼り付けます。 色々調べましたがどうにも分からない為質問させていただきます。 よろしくお願い致します。

  • VBAの行変更について

    例  (1)sheet1のセルA1,B1を入力専用(シート名:入力)とする  (2)入力する  (3)sheet2のA1,B1に転記される  (4)(1)を繰り返す  (5)sheet2の行が変わる(A2,B2)  (6)(4)と(5)を繰り返す  (7)(5)がA5,B5まで転記されると自動的にC1,D1に転記される  (8)(7)がC5,D5まで転記されると『データがいっぱいです』のメッセージがでる この説明でわかりますでしょうか。

  • INDIRECTと名前の定義でリストを作成

    どなたか分かる方教えください。 A1のセルにコードを入力、B1のセルに商品 を入力したいと考えています。 但し、B1の商品はA1で指定したコードの商品郡を入力するようにしたいのです。 コードと商品郡は別シートに作成しています。 別シート)    A  B  C  D  E  1  2 A  B  C  D  E   3 ・  ・  ・   ・   ・  4 ・  ・  ・   ・   ・ 2行が全てコード、3行以降がA~Eの商品郡 になります。 3行目以降のセルには関数を入れて 別シート_2 より集計したものになります。 商品郡の数はコードによってバラバラです。 2行目の記入セルを「名前の定義」で「コード」としてあります。 各列を 「名前の定義」、「A」 {範囲:A3:A150}                「B」 {範囲:B3:B150}のようにしました。※今後増減するため、セルは多く設定しました 入力シートの A1にリスト範囲"=コード" B1に"=INDIRECT(A1)"  リストはでたのですが、空白セルが多いため使いづらく 空白セルを表示させないために 別シート!A1 に ="別シート!A3:A"&COUNTA(A3:A150) と入力し自分なりに可変するような式を作ったのですが、 入力シート B1に リスト範囲"=A"とすると 望むようなリストが出来たのですが、            リスト範囲"=INDIRECT(入力シート!A1)" とすると、 元の値はエラー・・・とエラー表示がでて、リストが表示されません。 どのようにしたらリストが表示されるようになりますでしょうか。 もしくは、増減するセル範囲を空白なしに表示させるにはどのようにしたらいいでしょうか。 質問の説明が不十分すぎて申し訳ないですが、分かる方教えていただけたら嬉しいです。

  • Excelで指定する行と列に対応する値を表示させる方法

    このような事は可能なのでしょうか。下記のような別シートに表があり、メインシートのほうでAセル,Bセルに数字をいれてやると、別シートの対応する値を表示させることはできるのでしょうか。今回の場合ですと2の3ですから「く」を表示すという具合で。 できればまだまだ初心者なのでVBAではない方法がよいのですが、よろしくお願いします。説明不足で申し訳ないです。 ※(別シート)  Aセル Bセル Cセル Dセル Eセル    1   2    3    4   5  (1行目) 1  あ  い    う   え   お  (2行目) 2  か  き    く   け   こ  (3行目) 3   さ  し    す   せ   そ  (4行目) ※(メインシート) Aセル Bセル Cセル   2   3   く   

  • エクセル 合計条件が行と列の時の計算式

    エクセルで、データがはいっている”データシート”と 合計を表示させたい”合計シート”があり、 合計シートに同じ番号の品名でおなじ日付のものを合計して 表示させたいと思っています。 データシートには、以下のように品名が同じものが複数はいっています     A列 B列 C列 D列・・・・Z列これからさらにデータが増えていきます 1行目品名 4/1 4/4 4/5 2行目Z100 10  20  30 3行目Z300 40  50  60 4行目Z100 11  22  33 5行目Z200 70  80  90  ・  ・ 200行くらいデータがありこれからさらにデータが増えていきます。 合計シートもデータシートと同じような形で データシートのA列の 同じ番号&同じ日付 の数字をそれぞれセルB2からZ200まで合計した 数字を表示させたいです。     A列 B列 C列 D列・・・・Z列 1行目    4/1 4/4 4/5 2行目Z100 21  42  63 3行目Z300 40  50  60 4行目Z200 70  80  90  ・  ・ 200行目 合計シートのB2セルに入力したのですが、#VALUEエラーがでてしまい ました。 =SUMPRODUCT((データシート'!$A$2:$A$500=合計シート!$A2)*(データシート'!$B$1:$Z$1,合計シート!$B1)) SUMIFでも試してみたのですが、エラーがでてしましました。 説明が分かりにくく申し訳ないですが、どなたか分かる方いらしたら 教えてください。よろしくお願いします。

  • エクセルのCOUNTIF関数で条件が2つある時

    すみません、どなたか教えてください。 シート2のセルD5には数式「=COUNTIF(INDIRECT($C$43),B5)」があり「2」と表示されています。 $C$43は数式「="1!$C$5:$C$"&E42」でE42セルには32の数字が入っています。つまりシート1のセルC5からC32までとシート2のB5が等しかったらシート2のセルD5に「件数を表示」です。 1件の条件の時のカウントはできました。 問題はこの次に、シート1のセルD5からセルD32とシート2のセルE5と等しいときにの条件を加えて「件数の表示」をしたいのですが、二つの条件があるときの書き方が分かりません。 つまり、 シート1のセルC5からセルC32までに入っている文字(1イ、2ロ、5,1ロ・・・)とシート2のB5の文字(1イ)が同じで、かつ、シート1のセルD5からD32までに入っている数字(23、19,21,40・・・)とシート2のセルE5の数字「23」と同じ時の件数を数えたい。と言うことですが、うまく説明できなくてすみません。 シート2のセルD5に数式「「=COUNTIF(INDIRECT($C$43),B5,IF(INDIRECT($D$43),E5,0))」 だとエラーになってしまいます。$D$43は「=1!$D$5:$D$"&E42」、E5はシート2のセルE5です。 おしえてください。

専門家に質問してみよう