エクセル2007 一覧表からデータを抽出する方法

このQ&Aのポイント
  • エクセル2007の一覧表から、特定の条件でデータを抽出する方法について教えてください。
  • 具体的には、A列が同じ数字のC列の文字列を結合して別のセルに表示したいと思っています。
  • また、抽出したデータを表示する際に、空き行が出ないようにしたいです。どうすればよいでしょうか?
回答を見る
  • ベストアンサー

エクセル2007 一覧表よりデータを抽出したい

下記のデータ表から、 A列が同じ数字のC列の文字列を別のセルに間を開けずに結合したいのです。 A列 B列 C列 9   0   い 9   1   し 11  0   あ 12  0   す 13  0   こ 13  1   か 13  2   え 17  0   あ 数値の条件: A列:番号(0から1000くらいまでで昇順で並びます。連続していません) B列:A列番号の枝番号(0から20くらいまで) C列:文字列で、いろいろな文字が入り、文字数は一定しません この表から、D列にA列の番号がダブらずに入り、E列に結合した文字列を 空き行が出ないように表示させたいのです。 D列 E列 9  いし 11 あ 12 す 13 こかえ 17 あ なんとか試してみましたが、枝番号の数だけ空きが出来てしまう方法しか 私の知恵では考えられませんでした。 ↓このような感じです… D列 E列 9  いし 11 あ 12 す 13 こかえ 17 あ ご教授のほどよろしくお願いします。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.2

添付図のように丁寧に手を動かしていけば,別に何もムズカシイ事なしに作成できます。 D1 =IF(A1="","",C1&IF(A2=A1,D2,"")) 以下コピー。 A列を丸ごとコピーしてF列に貼り付ける F列を選び,データタブの「重複の削除」を行う G1: =VLOOKUP(F1,A:D,4,FALSE) 以下コピー。 #参考 手を動かすのはキライな場合 F1: =A1 F2: =IF(MAX($F$1:F1)=MAX(A:A),"",SMALL(A:A,COUNTIF(A:A,"<="&F1)+1)) 以下コピー

jeaaaa
質問者

お礼

ご回答ありがとうございました。 手を動かすのは嫌いではないのですが、 すべて数式で解決できますので、「参考」を 参考させていただきました。 こちらで問題なく動作いたしました。 自分なりに結構考えた末に、 こちらにお世話になったのですが、勉強不足でした。 また何かありましたらよろしく願いたします。

その他の回答 (1)

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

1)列Eに結果がでるようにしておいて、オートフィルタを設定。 2)「空白以外のセル」を選択して、全選択 3)「可視セル」だけ選択してコピー、どこかにペースト。 ではダメですか?

jeaaaa
質問者

お礼

ご回答ありがとうございます。 数式を使わない方法もあるのですね。 実は別のところも問題があったのですが、 これを使えば解決できそうです。

関連するQ&A

  • Excelで選択した範囲で同じ値を抽出

    Excelの使い方で質問です。ABCDEの5つの列にそれぞれ数値があります。ただそれぞれ同じ行数あるとは限りません。 この中から例えばA列に115、B、C、D、E列にも115があれば5個といったように表示させるならどうすればいいでしょうか。つまりは表のそれぞれの列に同じ値があればそれが何個あるのか知りたいのです。自分でやったのは全部一列に結合して、昇順にしましたが、これだとかなり数が多いので厳しいです。COUNTIFとかも考えましたがうまくいきませんでした。よろしくお願いします。

  • エクセルの表から抽出

    エクセルについて教えてください。 表の列と行を指定して(セル番地と言う意味ではないです。)一致しているセルの文字列を表示したいのですが方法がわかりません。   1 2 3 4 A あ か さ た B い き し ち C う く す つ D え け せ て E お こ そ と 上記のような表で2-Bなら「き」と表示させたいのです。 分かりにくいかも知れませんが 宜しくお願いします。

  • エクセル関数のことで困っています。

    今、簡単な表計算の表を作っていますが、先に進まず困っています。 A1~A200のセルに1~200の番号が昇順で入っています。そしてデータとして,B2,C2,D2,E2 に各々a、b、c、dが入っており,,B3,C3,D3,E3 にa1、b1、c1、d1・・・・・・・・・・・・B200,C200,D200,E200にw,x,y,zのようにB,C,D,E列に適当な数が入っています。 そこで、E列の値で昇順  SMALL(D$1:D$200,A1)  に並べ替え、同時にB,C,D,Eの値も返したいのです。つまりエクセルの並べ替え機能を関数で自動で行いたいのです。 今は、関数の、ROW,SUMPRODUCT,COUNT,INDEX,LARGE,COUNTIF,COLUMN,などを使い関数バーに5行ほどになり、処理にとても時間がかかります。 何とか、簡単で早い計算式はないでしょうか。 よろしくおねがいします。

  • Excelの表から値を抽出

    ---------- |a|b|c|あ| ---------- |a|b|d|い| ---------- |a|e|f|う| ---------- 少々判りにくいかもしれませんが、上記の3行4列の表があったとします。 1列目が「a」、2列目が「b」、3列目が「d」を条件として、4列目「い」を返す式を作るにはどのような式がいいでしょうか? 説明がわかりにくいかもしれませんが、お願いします。

  • 【Excel】該当データ表示方法について

    Excelの表で、(A)列にデータ名、(B)列にデータ値が入力されているとして、 1.(C)列に(B)列のデータ値の種類を昇順で表示、 2.(D)列に(C)列のデータ値を持つ(A)列の文字を表示、 3.(E)列に(D)列のデータ種類の数を表示 という3つの内容を実現したいのですが、(1つでも) ご存知の方、教えて下さい。よろしくお願いしますm(__)m 【イメージ】   | (A) (B) (C)  (D)   (E) ――――――――――――――――――― (1)| A 10 10 A、D、E   3 (2)| B 20 20 B、G    2 (3)| C 30 30 C、F    2 (4)| D 10 (5)| E 10 (6)| F 30 (7)| G 20

  • エクセルのデータから一致するデータを出したい

    エクセルの表から一致するデータに対応する指定列のデータを表示させたいのですがどの関数で設定すればよいのか教えて下さい。 A2からDの30までの表(実際には4000列以上) 1行は見出し A列は1~のナンバリング B列は商品コード(同じコードが複数ある)    ・昇順に並べてある C列は日付け    ・2番目に優先で昇順に D列は文字列 探したい商品コードをB1入力、それに対応するD列の文字列の昇順のトップをD1に表示させたい この内容で伝わるでしょうか オートフィルターで選ぶのも考えたのですが、入力した時その列のある列のデータが瞬時に見たいのです。 よろしくお願いします。

  • エクセルで、複数の表から一覧表を作るには?

    エクセル初心者です。 会社で、毎月の経費を、科目/支払先別の表にしているのですが、最新の1年分を一つの一覧表にまとめなければなりません。 毎月の経費の表は、以下のようなイメージです。  A列    B列    C列 消耗品   A社   \○○○         B社   \○○○         C社   \○○○         D社   \○○○ 交通費   E社   \○○○         F社   \○○○… 支払先の会社は、毎月異なり、1月と3月はA社とC社があるが、 2月はB社とD社だけ…という感じです。 毎月作られているこの表を、以下のような一覧表にまとめなおしたいのです。  A列    B列    C列     D列    E列               (1月)   (2月)   (3月) 消耗品   A社   \○○○        \○○○         B社          \○○○              C社   \○○○        \○○○         D社          \○○○ \○○○ 交通費   E社   \○○○              F社   \○○○        \○○○ イメージとしては、A列の勘定科目ごとに、各月の表のB列から重複しないように支払先の会社名を抽出し、それを一覧表の項目として、金額は各月からVLOOKUP?で引っ張ってくる?ということができればいいな、と思っているのですが、どなたかいい方法をご存知の方はいませんか? ちなみに、各月の表はタブで分かれており、今後も毎月アップデートする予定ですので、その都度タブを追加する形になると思います。 使用しているExcelは2003です。 よろしくお願いします。

  • 表引き

    表引き関数  再質問です 仮に A    B  C   D   E  A1    2  1   1   A2    4  2   1 A3    5  3   2  A4    6  4   4 A5    1  5   6 A6    2  6   2 BとCに2列の表があります E1には =vlookup(D1,B1:C6,2,false)の関数の式を入れました B列はランダムな数値 C列は通し番号です いつもは B列に通し番号 C列はランダム数値なのでD列の数値に対してのE列の表引きは問題ないのですが 上のように B列がランダムな数値 C列が通し番号の場合 B列に同じ数値が複数個あるとき E列に返してくるのは その数値の最初のひとつだけ  上の仮の表 では D列の数値に対して E1は 以下     E列  5  5  1と6  2  4  1と6 ですが この1と6の6が表引き出来なんです この6も表引きしたいのです どうすればいいのでしょうか 他の関数と組み合わせるんでしょうか よろしくお願いします

  • 抽出した表でデータをカウントしたいのですが・・・

    タイトルにあるとおり、あるデータをオートフィルで抽出した状態で、その抽出結果からデータをカウントしたいのです。 以下のような表があったとします。    A  B  C  D  E   F  G  H  I 1  ○           ○  ○  ○ 2     ○  ○     ○        ○ 3        ○  ○  ○  ○ 4  ○  ○     ○     ○ 5     ○            ○  ○    ○ 6     ○  ○     ○        ○ 7  ○        ○        ○     ○ 8     ○  ○     ○        ○ 9  ○        ○  ○     ○ この表では、仮に各行○が4つとして、ランダムに各列に○が振り分けられています。 A列・4個、B列・5個、C列・4個、D列・4個、E列・6個、F列・4個、G列・4個、H列・3個、I列・2個 という状態です。    A  B  C  D  E   F  G  H  I 1  ○           ○  ○  ○ 2     ○  ○     ○        ○ 3        ○  ○  ○  ○ 4  ○  ○     ○     ○ 5     ○            ○  ○    ○ 8     ○  ○     ○        ○ 9  ○        ○  ○     ○ ある条件でオートフィルによって、抽出した結果が上の表です。 今回の例では6,7行が消えた状態だったとします。 それぞれ、A列・3個、B列・4個、C列・3個、D列・3個、E列・5個、F列・4個、G列・3個、H列・2個、I列・1個 と、いう結果になりました。 このような状態になった表で最下段、この場合9から上に向かって3行分の○をカウントするような方法、または便利な関数はありますでしょうか? 今回の例ですと、最下段から、3行分、5、8、9のそれぞれの列の○をカウントするという感じです。 A列・1個、B列・2個、C列・1個、D列・1個、E列・2個、F列・1個、G列・2個、H列・1個、I列・1個 これが今回の例における求めたい結果です。 抽出してない状態でしたら、OFFSET関数でいけるのですが、抽出した状態からだと私のスキルでは解決できません。 どなたか、ご存知の方ご教示よろしくお願いします^^;

  • Wordの表(セルの結合あり。)に貼り付けると、左右凸凹に貼り付く

    質問自体は、実際に見れば簡単なことなんですが、 言葉で書くので煩わしくなってしまいます。 Wordで作っている文章の中に表があります。 ただし、その表は単純な表ではなくて、 セルの分割や結合が行われています。 表自体は長方形をしていますが、セルの結合によって、行によりセルの数が違います。 詳しく書くと、 表は4列で、 列をエクセルのように假に左からA、B、C、Dとすると、 D列はどの行も結合されていません。 1行目は、A1・B1・C1が結合されている状態。 2行目と3行目は、A2とA3が結合されていて、 B2とC2、B3とC3が結合されている。 4・5・6行目は、A4・A5・A6が結合されていて、 B4・C4が結合、B5・B6が結合。 7行目は、(1行目と同じく)A7・B7・C7が結合。 (多分、表を作るときは分割も使ったと思いますが、 説明が面倒になるので、分割という言葉は使いませんでした。) さて、結合がされていないD列に、 エクセルのある列のデータを貼り付けたいと思います。 貼り付けたいデータをコピーして、 上記のWordの表のD列を選んで貼り付けます。 すると、意図に反して、うまくD列に貼り付きません。 どの行でも、必ず、左から2つめのセルに貼り付いてしまいます。 上記のようにセルの結合が行われているために、 左右に凸凹に貼り付いてしまいます。 例えば、 3列になっている2行目や3行目は、結合されている (左から)2つめのセル(B2・C2、B3・C3)に、 4列になっている5行目や6行目は2つめのセル(B列)に貼り付いてしまいます。 このように、行のセルの数にしたがって凸凹に貼りつくのではなく、 行のセルの数にかかわらず縦一直線に貼り付けたいのですが、 どうすればよいでしょうか。 Wordは2000

専門家に質問してみよう