• ベストアンサー

Sheet1

Sheet1 商品名 選択欄  A   ■  B   □  C   □  D   ■  E   ■  ・   ・  ・   ・  ・   ・ と続く表があります。 商品名にダブりはありません。 選択欄が■の商品名を抜き出して一行にしたいです。 例)A・D・E … 関数で一度に出来れば良いのですが、 やり方がわかりません。 よろしくお願いします。

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

  • ベストアンサー
  • hananoppo
  • ベストアンサー率46% (109/235)
回答No.4

C2 =IF(B2="■",A2,"") C3 =C2&IF(B3="■",IF(C2="",A3,"・"&A3),"") と入力し、C4以降にC3をコピーします。 最後の行に目的の表示がされます。

その他の回答 (4)

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.5

回答No2です。 こちらで提案した式は前もって試験をしているもので間違った式とは思われません。できるだけエラーが表示されないようにしている式なのですが。どの段階でエラーとなっているのでしょう。エラーの表示はどのような形になっていますか?

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

こんにちは! 一例です。 ↓の画像で説明させていただきます。 Sheet1にデータがあり、Sheet2のB1セルに選択したい商品名を入れるとSheet2の2行目に表示されるようにしてみました。 Sheet2のA2セルに =IF($B$1="","",IF(COUNTIF(Sheet1!$B$2:$B$1000,$B$1)<COLUMN(A1),"",INDEX(Sheet1!$A$2:$A$1000,SMALL(IF(Sheet1!$B$2:$B$1000=$B$1,ROW($A$1:$A$999)),COLUMN(A1))))) これは配列数式になってしまいますので、この画面からSheet2のA2セルにコピー&ペーストしただけではエラーになると思います。 貼り付け後、F2キーを押す、またはA2セルをダブルクリック、または数式バー内で一度クリックします。 編集可能になりますので、Shift+Ctrlキーを押しながらEnterキーで確定します。 数式の前後に{ }マークが入り配列数式になります。 このA2セルを列方向(右)にオートフィルでコピーすると 画像のような感じになります。 尚、数式はSheet1の1000行目まで対応できるようにしていますが、 データ量によって範囲指定の領域はアレンジしてみてください。 以上、長々と書きましたが 参考になれば幸いです。m(__)m

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

シート1のA2セルから下方に商品名が、B2セルから下方に■などが入力されているとします。 作業列としてC2セルには次の式を入力して下方にオートフィルドラッグします。 =IF(B2="■",MAX(C$1:C1)+1,"") シート2の1行目にお求めのデータを表示させるとしてA1セルには次の式を入力して右横方向にオートフィルドラッグします。 =IF(COUNTIF(Sheet1!$C:$C,COLUMN(A1))=0,"",INDEX(Sheet1!$A:$A,MATCH(COLUMN(A1),Sheet1!$C:$C,0)))

icchie17
質問者

補足

この内容でコピーして作るとエラーが出てしまいました。

  • aokii
  • ベストアンサー率23% (5210/22062)
回答No.1

フィルターで■の行のみ表示し、これをコピーして値のみ貼り付けてみては。

関連するQ&A

  • 別のシートにデータを出す方法

    シート1に 番号 A1に1 A2に2 A3に3 A4に4 データ↓ B1に43 B2に45 B3に47 B4に55 C1に733 C2に890 C3に826 C4に94 D1に57 D2に67 D3に41 D4に52 E1に301 E2に104 E3に719 E4に441 という表があるとします。 番号1の場合は、B1の43、C1の733、D1に57、E1に301というデータです。 シート2の、 A3に、1という数字(シート1のA1の、1という番号)をいれれば、 シート2の B3に、シート1の、B1の43というデータ。 C3に、シート1の、C1の733というデータ。 D3に、シート1の、D1の57というデータ。 E3に、シート1の、E1の301というデータ。 がでるようにしたいのですが、 VLOOKUPを使ってできますか? どのような関数の立て方したらいいでしょう? XPのExcel2003です。 よろしくお願いしますm(_ _)m

  • 一覧表を分解する方法を教えてください!!

    こんばんは。 下記のような商品の一覧表をお店ごとに分けるにはどのような関数を用いれば良いのでしょうか? いろいろと考えてみたのですがまったく分かりません… みなさん、宜しくお願いします!! 表(1)     商品A 商品B 商品C 商品D 商品E A店   1         3 B店        5 C店        2          2     2 これを下記のように店舗ごとに分解します。 表(2)     商品A 商品C A店   1   3     商品B B店   5     商品B 商品D 商品E C店   2    2    2 シート1に表(1)のデータをそのまま貼り付けると、シート2の方に表(2)のように表示されるように関数を組みたいです。 宜しくお願いします!!

  • エクセルの表を別のシートに縦に数行おきに書き移したい

    エクセルのSheet1  A商品名 B種別 C金額 D 説明 ・・・・ とまとめてあるデータを、別のシートの表に縦に数行おきに転記したいのです。たとえば sheet2の D3は空欄 D4にsheet1のA2 D5にsheet1のB2 D6にsheet1のC2 D7にsheet1のD2 D8にsheet1のE2 D9は空欄 そして、7行おきに違う商品のデータになり、繰り返します。 (A3~D9までを太いカラー罫線で囲んだフォーマットが商品個数分、空欄で既にsheet2に書き込まれています) 関数で効率よく、データを書き写すことが出来ますでしょうか? よろしくお願いいたします。

  • Excel 別のシートを参照し、行のデータを列の向きに直したい

    <Sheet1> A  B  C  D   E   F ~ 1 商品名 価格 数量 割引率 合計 2  イ 3  ロ 4  ハ 5  ニ のようなデータを <Sheet2>に    A   B  C  D  E  ~ 1 商品名  イ  ロ  ハ  ニ 2  価格 3  数量 4 割引率  5  合計  のように、向きを変えて表を作り変えたいのですが、 <Sheet2>のB列に    A   B      1 商品名 =Sheet1!B2   2  価格 =Sheet1!C2 3  数量 =Sheet1!D2 4 割引率 =Sheet1!E2 5  合計 =Sheet1!F2 と入れて、オートフィルさせても、だめですよね。 当然のようにC列はSheet1!B3にならずSheet1!C2 になってしまいます。 どうすれば、良いかご存知の方、教えてください。 宜しくお願いたします。  

  • 項目別に合計数入力

    シート1の表-1にA~C列に文字とD,E列に数値が入力されておりシート2の表-2にA,B,C列の文字が同一行であれば1行とし違えば行を追加し同一行はD,E列の数値を加算していきたいのですがどなたかVBAコードか関数の解る方宜しくお願いします。

  • エクセルで規則性のあるシート間コピーについて

    QNo.3516944にて質問しましたが、ちょっと説明不足もありましたので再度投稿します。 ●例2 sheet1   A   B   C   D   E 1 a a a    c c c  2    b b b    d d d e e e 3 a'a'a'    c'c'c' 4     b'b'b'     d'd'd' e'e'e' とあったデータを sheet2    A    B     C     D    E 1 a a a  b b b  c c c  d d d  e e e 2 a'a'a'  b'b'b'  c'c'c'  d'd'd'  e'e'e'     3 a"a"a"  b"b"b"  c"c"c"  d"d"d"  e"e"e"     4 以下同様に下にコピーしたい  数式では       A        B       C       D        E 1 =Sheet1!A1 =Sheet1!B2 =Sheet1!C1 =Sheet1!D2 =Sheet1!E2 2 =Sheet1!A3 =Sheet1!B4 =Sheet1!C3 =Sheet1!D4 =Sheet1!E4 3 =Sheet1!A5 =Sheet1!B6 =Sheet1!C5 =Sheet1!D6 =Sheet1!E6    4 =Sheet1!A7 =Sheet1!B8 =Sheet1!C7 =Sheet1!D8 =Sheet1!E8 この規則性を 以下同様に「+」でコピーしたい  ご指導のほどよろしくお願いします。罫線がうまく表現できないのでわかりづらくて申し訳ないです。

  • excelでデータを別シートに引っ張ってきたい

    excelで値を検索し、返す時、返す値の横にあるデータを違うシートのセルの下に一緒に引っ張ってきたいときの関数(方法)を教えてください。 素人なので分かりにくいと思いますが、お知恵をお借りしたいと思います。 あるデータのシートの検索値を別シートに持ってきたいのですが、シート1をシート2のようにしたいのです。 /は空白 例)シート1 /A B C D E 1(1) □ ○ ▽ ◎ 2 (2) ▼ ■ ◇ ◎ シート2 / A B C D 1 (1) □ 2 /○ ▽ ◎ 3 (2) ▼ 4 /■ ◇ ◎ 分かりにくいかもしれませんが、 シート1の(1)(A1)を検索すると、シート2(B1)に□(これはVLOOKで引っ張ってこれるのはわかります。) 次にシート1の(C1)○をシート2の(B2)へ持ってきたいのです。シート1(D1)(E1)はシート2の(C2)(D2)へ。 しかもシート1のC列は空白セルもあり、シート1のC列が空白の場合、下にずれることなくシート1の(D1)(E1)はシート2の(C1)(D1)へ。下記<図a>のようになるようにしたいのです。 そして、シート2のA列に検索値として入力する(1)や(2)の値は連番ではなく、(2)の次に(5)に飛んだりします。(2)の行のC列にデータがあっても、(5)のC列にデータはないこともあります。<図b> <図a> /A B C D 1 (1) □ ▽ ◎ 2 (2) ▼ ◇ ◎ <図b> / A B C D 1 (1) □ 2 /○ ▽ ◎ 3 (2) ▼ 4 /■ ◇ ◎ 5 (5) □ ▽ ◎ 6 (7) ▼ ◇ ◎ vlookとかCLUMN関数とか考えてはみたのですが、どうもうまくいきません。 毎回作成するデータなのですが、毎回コピペで作成しています。 とても面倒なので(1)を検索したらデータが一瞬で検索できるようにしたいと試みてはみたものの、私の知識では不可能でした。 関数では無理なのでしょうか。。。 関数はあまり詳しくないので分かりやすい方法があれば、教えていただければ助かります。 関数に詳しい方、よろしくおねがいいいたします。 関数にはこだわっていません。違う方法があればそれも含めておねがいいたします。

  • sheet1、sheet2の値をsheet3に集めたい。

    エクセルについて教えてください。 山田君のテストの結果 sheet1に、中間テスト結果A1B1C1D1E1、 sheet2に、期末テスト結果A1B1C1D1E1があり、 sheet3のA1B1C1D1E1、A2B2C2D2E2に 移動させていと考えています。 されに、小島さんのテスト 中間テスト結果が、sheet1のA2B2C2D2E2、 期末テスト結果が、sheet2のA2B2C2D2E2 にあり、それら2つを sheet3のA3B3C3D3E3、A4B4C4D4E4 に続けて移動させたいです。 実際は、2人だけではなく、 約200人以上を続けてsheet3に集めたいと思っています。 連続的に集めるためには、 どうすればよいか教えてください。 よろしくお願いします。

  • エクセルで、条件にあう複数の行を別のシートに抽出する

    《どなたか、お教え下さい》   エクセルで、条件にあう複数の行を別のシートに抽出してまとめる。 「sheet1」の下記の基本データを「sheet2」に「得意先」ごと「日付」の早い順にまとめたいのでが。関数を使ってできないものか、どなたかお教え下さい。「マクロ」や「Access」は使用したことがないので、関数を使ってやりたいと思いますが、できるものでしょうか。よろしくお願いします。 sheet1 番号 得意先 日付 商品名 商品詳細 金額 備考 1   A 2   B 2   B 4   D 5   E 6   F 2   B 3   C 5   E   A    B  番号  得意先   1   A      2   B   得意先名は、番号を入力することで表示されるように   3   C   関数「VLOOKUP」を使って表示させるようにしていま   4   D   す。    5   E   6   F  

  • エクセルでマクロを使用してシート2の表から行単位でシート1の表の指定位

    エクセルでマクロを使用してシート2の表から行単位でシート1の表の指定位置に値を表示させたい シート2の A列に番号(連番) B列に商品名(数字とアルファベットの組み合わせ) C列に仕入先(数字4桁) D列にメーカー(数字4桁) E列に区分(数字とアルファベットの組み合わせで3ケタ) が入っていて約5,000行のデータが有ります。 シート1にレイアウトした表があって シート1のB4にシート2のA2の値(番号連番) シート1のB5にシート2のB2の値(商品名) シート1のB6にシート2のC2の値(仕入先) シート1のB7にシート2のD2の値(メーカー) シート1のB8にシート2のE2の値(区分) が表示されるようにしてあります。 マクロを利用して、作成したシート1のボタンを押すと シート1のセルB4の番号欄が1から2(シート2のA3の値)に繰り上がり、 シート1の表のA列の番号と同じ行のそれぞれの値を 上記の規則で表示させるようにできますか? シート1のB4が2になるとシート1の3行目をさしますので シート1の表には、 シート1のB4にシート2のA3の値(連番) シート1のB5にシート2のB3の値(商品名) シート1のB6にシート2のC3の値(仕入先) シート1のB7にシート2のD3の値(メーカー) シート1のB8にシート2のE3の値(区分) が表示されます。 シート1のボタンをクリックするごとにB4のセルは3,4,5,6と繰り上がり シート2のA列の番号と一致した行のそれぞれの値を表示させていく。

専門家に質問してみよう