• 締切済み

エクセルで特定の回答者のみ理由を拾う方法に関して

エクセル2010を使っています。 現在、アンケートの集計で次のような表を作っています   A       B          C             D        E 氏名      質問    「いいえ」の時の理由     性別      年齢 ○○○○   いいえ    ○○○○・・・・・・・      男性      30 ○○○○   はい                      女性      20 ○○○○   はい                      男性      10 ○○○○   いいえ    ○○○○・・・・・・・      女性      40 ○○○○   いいえ    ○○○○・・・・・・・      男性      20 ○○○○   はい                      女性      30 ○○○○   いいえ    ○○○○・・・・・・・      男性      10 このうち、表の 【質問】で【いいえ】と回答した人のみ、その【理由】と【性別・年齢などの情報】を 抜き出して【別のシート】にまとめたいのですが、 どうすればいいのでしょうか? こんな感じで、別のシートにまとめたいのです。 ■「いいえ」と回答した人の理由  A   B      C 30歳 男性  ○○○○・・・・・・・ 40歳 女性  ○○○○・・・・・・・ 20歳 男性  ○○○○・・・・・・・ 10歳 男性  ○○○○・・・・・・・ 以上お願いします。

  • fuhaha
  • お礼率80% (174/216)

みんなの回答

回答No.8

No.1さん、2さん、5さんの「フィルタ」が、頻繁に使われる初級の基本技です。ご存じなかった場合は、まずはこれを習得されるようお勧めします。フィルタでは、いわゆる「あいまい検索」や行の「並べ替え」の操作も可能です。(並べ替えはフィルタも何も使わなくてもできますが)

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.7

 レイアウトは御質問文の例の通りとしたままで、作業列が不要で、[Shft]+[Ctrl]キー操作も不要な方法です。  但し、アンケートの回答者数が数百人分程度でしたら問題はありませんが、2千人を超えるあたりから、計算処理が重くなるため注意して下さい。  今仮に、アンケートの回答結果がSheet1に入力されていて、集計結果をSheet2に表示させるものとします。  まず、Sheet2のA1セルに次の数式を入力して下さい。 =Sheet!1$E$1&""  次に、Sheet2のB1セルに次の数式を入力して下さい。 =Sheet!1$D$1&""  次に、Sheet2のC1セルに次の数式を入力して下さい。 =Sheet!1$C$1&""  次に、Sheet2のA2セルに次の数式を入力して下さい。 =IF(ROWS($1:1)>COUNTIF(Sheet1!$B:$B,"いいえ"),"",INDEX(Sheet1!$A:$E,SUMPRODUCT((COUNTIF(OFFSET(Sheet1!$B$1,1,,ROW(INDEX(Sheet1!$B:$B,MATCH("いいえ",Sheet1!$B:$B,0)):INDEX(Sheet1!$B:$B,MATCH("いいえ",Sheet1!$B:$B)))-ROW(Sheet1!$B$1)),"いいえ")<ROWS(F$2:F2))*1)+MATCH("いいえ",Sheet1!$B:$B,0),MATCH(A$1,Sheet1!$A$1:$E$1,0)))  次に、Sheet2のA2セルをコピーして、Sheet2のB2~C2の範囲に貼り付けて下さい。  次に、Sheet2のA2~C2の範囲をコピーして、同じ列の3行目以下に貼り付けて下さい。  以上です。

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.6

 作業列が不要で、[Shft]+[Ctrl]キー操作も不要な方法です。  今仮に、アンケートの回答結果がSheet1に入力されていて、集計結果をSheet2に表示させるものとします。  まず、検索の基準とするために氏名欄の左に回答番号欄を設けて次の様なレイアウトとしておきます。 A    B        C           D             E        F No.  氏名      質問    「いいえ」の時の理由     性別      年齢 1   ○○○○   いいえ    ○○○○・・・・・・・      男性      30 2   ○○○○   はい                       女性      20 3   ○○○○   はい                       男性      10 4   ○○○○   いいえ    ○○○○・・・・・・・      女性      40 5   ○○○○   いいえ    ○○○○・・・・・・・      男性      20 6   ○○○○   はい                       女性      30 7   ○○○○   いいえ    ○○○○・・・・・・・      男性      10  次に、Sheet2のA1セルに次の数式を入力して下さい。 =Sheet!1$A$1&""  次に、Sheet2のB1セルに次の数式を入力して下さい。 =Sheet!1$F$1&""  次に、Sheet2のC1セルに次の数式を入力して下さい。 =Sheet!1$E$1&""  次に、Sheet2のD1セルに次の数式を入力して下さい。 =Sheet!1$D$1&""  次に、Sheet2のA2セルに次の数式を入力して下さい。 =IF(ROWS($1:1)>COUNTIF(Sheet1!$C:$C,"いいえ"),"",INDEX(Sheet1!$A:$A,MATCH("いいえ",INDEX(Sheet1!$C:$C,MATCH(A1,Sheet1!$A:$A,0)+1):INDEX(Sheet1!$C:$C,ROWS(A:A)),0)+MATCH(A1,Sheet1!$A:$A,0)))  次に、Sheet2のB2セルに次の数式を入力して下さい。 =IF($A2="","",VLOOKUP($A2,Sheet1!$A:$F,MATCH(B$1,Sheet1!$A$1:$F$1,0),FALSE))  次に、Sheet2のB2セルをコピーして、Sheet2のC2~D2の範囲に貼り付けて下さい。  次に、Sheet2のB2~D2の範囲をコピーして、同じ列の3行目以下に貼り付けて下さい。  以上です。

  • bakamr
  • ベストアンサー率32% (149/463)
回答No.5

単純にフィルターを使って、コピペで、 別のシートに移してしまうのはダメですか。

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

データが多くなってもパソコンに負担のかからない方法は作業列を使って対応することです。 シート1に元のデータが入力されているとしてF2セルには次の式を入力して下方にドラッグコピーします。 =IF(B2="いいえ",MAX(F$1:F1)+1,"") お求めの表はシート2に作るとしてシート2のA2セルには次の式を入力してC2セルまで横にオートフィルドラッグしたのちに下方向にもドラッグコピーします。 =IF(ROW(A1)>MAX(Sheet1!$F:$F),"",INDEX(Sheet1!$A:$E,MATCH(ROW(A1),Sheet1!$F:$F,0),IF(COLUMN(A1)=1,5,IF(COLUMN(A1)=2,4,IF(COLUMN(A1)=3,3,""))))) シート2のA列のデータに歳を付けるのでしたらA2セルから下方の行を選択したのちに右クリックし、「セルの書式設定」から「表示形式」で種類の窓には 0"歳" と入力してOKします。

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

こんにちは! 一例です。 ↓の画像で左側がSheet1で右側Sheet(Sheet2)に表示するようにしてみました。 Sheet1の「いいえ」は必ず何らかの理由が入っているとします。 とりあえずSheet1の1000行まで対応できる数式ですが、 配列数式を使用していますので、極端にデータ量が多い場合はあまりオススメしません。 Sheet2の1行目項目はSheet1の項目と一緒にしておきます。 Sheet2のA2セルに =IF(COUNTIF(Sheet1!$B:$B,"いいえ")<ROW(A1),"",INDEX(Sheet1!$A$1:$E$1000,SMALL(IF(Sheet1!$B$1:$B$1000="いいえ",ROW($A$1:$A$1000)),ROW(A1)),MATCH(A$1,Sheet1!$A$1:$E$1,0))) 配列数式ですのでShift+Ctrl+Enterで確定! この画面からコピー&ペーストする場合はA2セルに貼り付け後、数式バー内で一度クリック! 編集可能になりますので、Shift+Ctrlキーを押しながらEnterキーで確定! 数式の前後に{ }マークが入り配列数式になります。 A2セルを列方向・行方向にオートフィルでコピーすると 画像のような感じになります。 ※ 最初に書いたようにデータ量がもっと多い場合は 作業用の列を設ける方法が良いと思います。m(_ _)m

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

ホームタブ(若しくはデータタブ)のフィルタで「オートフィルタ」を取り付け,質問列の「いいえ」で絞り込み,まとめて選んでふつーにコピー,別シートにぺたっと貼り付けるのが一番簡単です。 例えば下記などを参考に,練習してみて下さい。 http://www4.synapse.ne.jp/yone/excel2010/excel2010_filter1.html

  • FEX2053
  • ベストアンサー率37% (7987/21355)
回答No.1

2007で悪いんですが、フィルタオプションで一発の筈。 詳細はここを見て下さい。 http://www.eurus.dti.ne.jp/yoneyama/Excel2007/excel2007-filter2.html 具体的には、「フィルタ」の「詳細設定」で「抽出範囲」を 別の場所に指定してやればオッケーって話です。 この時、カーソルは「抽出範囲」のある位置に置いておく ことが肝要。ダミーで1件データを作っておかないと、 フィルタが選択できない(筈)なので、その辺がキモかも しれません。

関連するQ&A

  • エクセル2003で1つのシートのデータを別の2つのシートに振分けるには

    エクセル2003で1つのシートのデータを、2つのシートへ振り分けるための関数はあるのでしょうか?例えば seet1に次のようなデータガあるとして   A    B    C    D 1 氏名  年齢  性別   住所 2 佐藤  30   男性    東京都 3 伊東  40   女性    大阪府 4 中村  50   男性  北海道 5 後藤  60   女性  京都府 C列「性別」に「男性」を入力すればseet2に、「女性」だったらseet3に。 氏名や年齢等を上から順番に表示(入力)させたいんですが… (seet2・3ともに、データの列の順番はseet1とは異なりなす。) 次にseet1の「6列目」に男性を入力するとseet2の「4列目」に行くように (表を作ると) seet2には   A     B    C  1 住所   氏名  年齢 2 東京都  佐藤  30 3 北海道  中村  50 4 (seet1「6列目」の人) seet3には   A      B     C  1 住所    氏名   年齢 2 大阪府   伊東   40 3 京都府   後藤   60 seet1に入力したデータを、性別で振り分けseet2に男性、seet3に女性を… 関数を使いできるでしょうか? 実際には同じようなデータを何度も「コピぺ」で入力していて非常に面倒くさいので、宜しくお願いします。ちょっと、分かりにくいですか?

  • Excelでデータ集計したい

    Excelでアンケート調査の集計をする予定です。 表の組み方は、縦には(A1セルの下)、アンケートに答えてくれた人の連番を振り。 横には、アンケートの項目をB1、C1・・・セルから順に 性別 年齢 職種 ・・・etc. とのせてあります。 そこで、このように組んである表から、例えば、性別が男性で年齢が20代の人は、何人いるのか数えたいときは、どのようにすればいいのか教えて下さい。 また、同じように、性別が男性で年齢が20代、かつ、アルバイトというように要素が3つ以上の場合は、どのようにすればいいのか教えて下さい。 以上、よろしくお願いします。

  • Excel 性別毎の年代別件数の求め方

    Excelで、性別毎の年代別件数を求めたいのですが、良い方法が見つかりません。 皆様のお力をお貸し下さい。 業務で、お客様の統計を採るよう命じられました。 A列に性別(女性or男性)、B列に年齢(18~99)が入力されています。 性別はCOUNTIF関数を使い、女性と男性の件数を出しました。 年齢はFREQUENCY関数を使い、年代(10代~90代)別に件数を出しました。 今度は、性別毎に年代別件数を求めるよう指示されたのですが 一日考えても良い方法が見つかりません。 どのようにすれば、性別毎の年代別件数を求めることが出来るのでしょうか? 利用月毎に複数のファイルに分かれており、集計用のファイルを作成し 全てのファイルの合計を集計するよう指示されています。 (利用月毎のファイルは12ヶ月分あります・・・) Sheet1に性別と年齢を入力し、Sheet2でCOUNTIF関数、FREQUENCY関数を組み集計しています。 良いお知恵がありましたら、どうぞ御教授下さい。

  • エクセルの関数で、二つのブックから答を出す方法

    保険料の見積もりをワードで差し込み印刷するために、エクセルでデーターを作りたいのです。 住所録の年齢・性別の項目と別のブックの保険料表からその方の保険料を出せるようにするにはどのようにすれば、いいですか? 1.住所録のセルには、A列に名前 B列に性別 C列に生年月日 D列に年齢(関数でC列の生年月日から引っ張っています。)が入っています。 2.保険料表のセルには、A列に年齢 B列に男の保険料 C列に女の保険料が入っています。 1の住所録に追加の形で、E列に2の保険料表の年齢別・性別の数値を引っ張ってくる方法を教えて下さい。 もしブックを二つにしないで、住所録のブック内の別のワークシートに保険料表をセットする方法でもいいです。 よろしくお願いします。   

  • エクセルでの複数ブックの特定範囲を一覧化する

    エクセルでイベントの参加者を数か所から集め、集計を行っています。 今までは紙ベースで受け取り、エクセルへ手打ちをしていましたが、もう嫌です。 エクセルベースで送付してもらい、集計し、一覧化を行いたいです。       【ブックα】      |     【ブックβ】    A    B    C    |    A    B    C  1  年齢 性別  名前   | 1  年齢 性別  名前 2  ・    ・    ・    | 2  ・    ・    ・ 3  ・    ・    ・    | 3  ・    ・    ・ 4  ・    ・    ・    | 4  ・    ・    ・ 様式としてはとしては以上のような一覧で送られてきます。(だいぶ簡略化してますが) この複数ブックの申し込みを以下のような一覧に仕上げたいです。    A   B    C    D 1  α 年齢  性別  名前 2   ・   ・    ・     ・ 3  ・   ・    ・     ・ 4  ・   ・    ・     ・ 5  β  ・    ・     ・ 6  ・  ・    ・     ・ 7  ・  ・    ・     ・ ちなみに、ブックごとの参加者は不定です。なので範囲としては(A1:C100)を抽出するようになると思います。 マクロなるもので、複数ブックを一つのブックにまとめ、複数シートとすることはできましたが、その複数シートの該当範囲のみを転記し、一覧化する(A行にシート名を転記する)ことができません。 また、ただ単に当該範囲を転記するだけでは、空欄セルが多数転記されてしまいそうですが、記入されているセルのみを転記することが可能であればなおいいです。 わたしが「こうできたらいいのに」と思うことはできると思っています。 ただ、私にはその知識がありません。 なのでお力添えいただければ幸いです。 つたない説明で伝わりにくい点もあるかと思いますが、よろしくお願いいたします。

  • エクセルの関数を使って・・・

    まず 氏名 商品B 商品A 商品C 売り上げ数 山田 2000    0  500  2500 山田 500   100   100  700 河合 100   100   100  300 田中 500           500 山中 500           500 と続いていく簡単な売り上げの表があります。 氏名のところは入力規制でリストから選択できるようにしています。 この表を集計して    商品B 商品A 商品C 山田 3000   100  600 河合 田中 山中  このような集計表に個人別の商品別総計を出すように関数 入れたいのですが何卒よろしくお願いします。

  • エクセル 不特定数シートのくしざし計算について

    はじめまして。ご質問をお願いします。 以下のような集計を行うための原本を作成しています。 シート作成単位:人(Aさん・Bさん・Cさん…)⇒1人1シート ↓ 集計単位:課(1課・2課・3課…)⇒1つの課1シート 人単位で作成するシート、集計シートの形式は同じです。 課集計をくしざし計算によって算出しようと思ったのですが、 課によってシートを作成する人数が異なります。 例)1課→Aさん・Bさん・Cさん   2課→Dさん・Eさん・Fさん・Gさん・Hさん・Iさん   3課→Jさん・Kさん・Lさん・Mさん 月ごとに作成する表ですが、月によっても作成人数が変動することがあります。 例)1課(11月)→Aさん・Bさん・Cさん   2課(12月)→Aさん・Bさん・Cさん・Nさん 集計作業を行う度にくしざし計算の設定を行うのは手間ですし、 エクセルレベルが異なる複数人数が集計を行うため、集計作業者が式を設定しなくてもいいよう、 原本集計表に関数等を設定して対応したいと思っています。 (マクロではなく、関数等で対応したいと思っていますのでよろしくお願いします) よろしくお願いします。

  • 【エクセル】別シートの元データを、分類方法を変えて集計する方法

    シートA(集計元データ)を、シートB(集計表)に、Bの分類条件にあったデータを検索かつ集計する方法を教えてください。 ○シートA)集計元データの様式 (列a)大分類/条件1、(b)中分類/条件2、(c)小分類/条件3、(d)データ(1)、(e)データ(2)  ↓ ○シートB)集計表の様式 (列a)条件2、(b)条件3、(c)データ(1)、(d)データ(2) ○その他 ※シートA(元データ)の条件(1~3)に該当する内容は、集計期間により変動する(様式は変わらない)が、集計表の様式・条件(2~3)・条件に該当する内容は固定なので、シートAから該当するデータを検索して、シートBに集計しなければならない。 ※シートBでは、集計元データ大分類(条件1)を表記せず、条件2・3から表記するため、その分、データの集計が必要となる。 条件が2列に分かれているためSUMIFが使えず、DSUM・SUMPRODUT・DSUM等など、素人なりに調べて試してみましたが、どうしてもできません。できない理由も含めて、教えていただければと思います。 内容がわかりにくいと思いますが、どうかよろしくお願いいたします。

  • エクセルの並べ替えについて

    A列に個人コード、B列に氏名、C列に4月分の日数といった表がSheet1にあります。sheet2にはA列に個人コード、B列に氏名、C列に5月分の日数の表があります。表にでてくる人は同じなのですが順番がバラバラです。sheet1に並んである氏名の順番にsheet2も並び替えをしひとつの表にしたい場合どうすればいいでしょうか??かなり困っています。アドバイスよろしくお願いします。

  • エクセルで住所録を分類する方法は

    いつもお世話になっています。(エクセルは2002です)   A     B       C   D   E 1 郵便番号  住所      氏名  地区  備考 2 100   A県B市C町  C氏  E   G 3 100   A県B市D町  C氏  E   G 4 200   B県      D氏  F   H 上記のような表(シート1)があります。 シート2にA県、シート3にA県以外を郵便番号・住所・氏名・地区・備考を分けて、シート2の表をシート4にB市、シート5にB市以外に郵便番号・住所・氏名・地区・備考を分けて、シート4の表をシート6にC町、シート7にC町以外に郵便番号・住所・氏名・地区・備考を分ける方法を教えてください。 うまく説明できませんがよろしくお願いします

専門家に質問してみよう