Excelの計算式とアンケート集計方法

このQ&Aのポイント
  • Excelの計算式を使ってアンケート集計を行う方法について解説します。
  • アンケートの回答をセルに入力し、特定の条件に合致する回答を集計する方法を紹介します。
  • 特定の条件を満たす回答を抽出するためのExcelの計算式を提供します。
回答を見る
  • ベストアンサー

エクセルの計算式

例えば、以下のようなアンケートをとったとします。 ─── Q.昨日買った野菜を、次の中から選んでください。 1 にんじん 2 じゃがいも 3 たまねぎ 4 きゅうり 5 トマト ─── その1人ずつの回答を、セル1~10まで入力したとします。 ─── (列A) (列B) 佐藤  1,2,3 鈴木  2 高橋  3,5 田中  1,4,5 渡辺  3 伊藤  1,2 山本  4 中村  3,4 小林  1,3,5 加藤  5 ─── 全部の回答の中から、3か5が入っているセルを引いた数を出したい。 但し3も5も入っているセルは除いて。 (たまねぎかトマトを買った人を知りたいが、どっちも買った人は除く。) この場合の計算式をお願いしますm(__)m 実際の集計表にも↑のような形(「1,3,5」のような形)で入力してあります。 計算式用にセルは何個使ってもいいですが、1列におさまるようにお願いします。 (Q2以降の回答を右に入力していくので。)

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

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.6

こんにちは。 別途回答も出ていますが、こちらは、後だしですから、いろんな検討をしてみて、こういう回答に行き着きました。本来は、コンマで数字を分けて、そこの中から数字を探すのが良いのですが、VBAを使わなくてはなりません。 =SUMPRODUCT((NOT(ISERROR(FIND(",3,",","&B1:B10&",")))+NOT(ISERROR(FIND(",5,",","&B1:B10&",")))=1)*1) 元のサンプルの解は、5 ですが、 例えば、 9 小林  1,33,5 とすると、変わってくるはずです。

tnsc_01
質問者

お礼

2年前の質問ですが、締め切っていなかったことに気付き、超今更ですがベストアンサー選ばせていただきました! 遅くなって本当にすみませんでした(>_<) 2年も前の事で、今読み返したら自分でも質問の意味を理解するのに苦しみました。笑 皆さんにいただいた回答で再度テスト入力したところ、Wendy02さんの教えてくださった式だと1発で答が出ました(1つのセルに入力するだけで済んだ)ので、Wendy02さんにベストアンサーつけさせていただきました。 ありがとうございました!!

その他の回答 (5)

回答No.5

>B10というのは、「最後の人」という認識でいいですか? >100人だったらB100ということですよね? C10セルのものをコピペしてしまったようです すみませんm(_ _)m 正解は =OR(COUNTIF(B1,{"*3*","*5"}))-COUNTIF(B1,"*3*5") で下へオートフィルです しかし、No3で回答したもので考えていただけたらと思います。 解釈が分かれていますのでもう一度、何を求めたいか説明してください。 また、サンプルの解もお願いします

tnsc_01
質問者

お礼

2年前の質問ですが、締め切っていなかったことに気付き、超今更ですがベストアンサー選ばせていただきました! 2年も前の事で、今読み返したら自分でも質問の意味を理解するのに苦しみました。苦笑 私の質問の仕方がヘタクソだったせいで、2度手間3度手間かけさせてしまって本当にすみませんでした。。。 「解釈が分かれている」というご指摘、そこに気付いてくださるということは、皆さんの回答も読んで、何度もテストしてくださったということですよね・・・それなのに、お返事もせず・・・本当に申し訳ありません・・・。 さっき、皆さんにいただいた回答で再度テスト入力したところ、Wendy02さんの教えてくださった式だと1発で答が出ました(1つのセルに入力するだけで済んだ)ので、Wendy02さんにベストアンサーつけさせていただきました。 何度も回答くださったのに、本当に申し訳ないです・・・。 しかも、もっと早く気付いていれば「次点」もあったんですよね・・・(;_;) 本当にありがとうございました(>_<) こんな事言えた義理じゃないですけど・・・また機会があればよろしくお願いしますm(__)m

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

一例です。 =SUMPRODUCT((LEN(B1:B10)-LEN(SUBSTITUTE(SUBSTITUTE(B1:B10,3,""),5,""))=1)*1)

tnsc_01
質問者

お礼

2年前の質問ですが、締め切っていなかったことに気付き、超今更ですがベストアンサー選ばせていただきました! 2年も前の事で、今読み返したら自分でも質問の意味を理解するのに苦しみました。苦笑 私の質問の仕方がヘタクソだったのがいけないのですが、教えていただいた式では答えが合いませんでした・・・(;_;) また、皆さんにいただいた回答で再度テスト入力したところ、Wendy02さんの教えてくださった式だと1発で答が出ました(1つのセルに入力するだけで済んだ)ので、Wendy02さんにベストアンサーつけさせていただきました。 本当に今更ですが、どうもありがとうございました! お礼が常識外れな遅さになってしまい、本当に申し訳ありません(>_<) ・・・また機会があればよろしくお願いしますm(__)m

回答No.3

もうひとつ 作業列不要でした(^^; =(COUNTIF(B1:B10,"*3*")+COUNTIF(B1:B10,"*5")-2*COUNTIF(B1:B10,"*3*5")) 2桁がないと想定しています

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.2

C列にでも作業列を使用します。 =ISNUMBER(FIND(3,B2))+ISNUMBER(FIND(5,B2)) 下までコピィします。 結果で 0 は3も5も含まない。 1は 3か5を含む、2は3と5を含む ですので COUNTIF関数で 0の数を数えては如何でしょうか。 =COUNTIF(C:C,0)

tnsc_01
質問者

お礼

2年前の質問ですが、締め切っていなかったことに気付き、超今更ですがベストアンサー選ばせていただきました! 2年も前の事で、今読み返したら自分でも質問の意味を理解するのに苦しみました。苦笑 さっき、皆さんにいただいた回答で再度テスト入力したところ、hallo-2007さんに教えていただいた式で答えは合いましたが、Wendy02さんの教えてくださった式だと1発で答が出ました(1つのセルに入力するだけで済んだ)ので、Wendy02さんにベストアンサーつけさせていただきました。 本当に今更ですが、どうもありがとうございました! お礼が常識外れな遅さになってしまい、本当に申し訳ありません(>_<) ・・・また機会があればよろしくお願いしますm(__)m

回答No.1

サンプルの解は5でよいですか? B列は文字列(数字)で入力されているとして C1セルに =OR(COUNTIF(B10,{"*3*","*5"}))-COUNTIF(B10,"*3*5") 下へオートフィル そして合計

tnsc_01
質問者

補足

B10というのは、「最後の人」という認識でいいですか? 100人だったらB100ということですよね?

関連するQ&A

  • エクセル if関数

    エクセル初心者なのでうまく説明できないのですが、以下のような条件で数式を入力したいのですが教えていただけないでしょうか。 例えばなのですが、A1のセルに入力されている文字列に”高橋”を含んでいたならば、C1のセルにB1のセルに入力されている数字×”1500”の計算結果を表示したい。 また同様に、A1に入力されている文字列に”伊藤”を含んでいるならば、C1のセルにB1のセルに入力されている数字×”1000”の計算結果を表示したい。 つまりひとつのセル”高橋”が入力されている場合と”伊藤”が入力されている場合の二つの条件をつけたいのですが、このようなことは可能でしょうか。 宜しくお願いいたします。

  • よくある名字なのに、同級生に一人もいなかったのは?

    下記は、日本の多い名字ベストテンです。  (1)佐藤 (2)鈴木 (3)高橋 (4)田中 (5)渡辺 (6)伊藤 (7)山本 (8)中村 (9)小林 (10)斉藤 この中で、あなたの幼稚園から高校までの同級生に一人もいたことがなかった名字は、どれですか? 因みに私の場合は、どの名字の同級生もいましたが、男性の(1)佐藤、女性の(6)伊藤(8)中村(9)小林は、一人もいませんでした。

  • エクセルで表の形を変えずに並べ替え。

    エクセルで複数行にあるデータを表の形を変えずに並べ替えできますか。 次のような体重データがある場合、6×10の表の形を変えずに、「50音順」と「体重の重さ順」 に並べ替えたいのです。 C列とD列、E列とF列を切り取ってA列とB列の下に貼り付けて2列にしてしまえば簡単にできるのですが、大人数になるとものすごく縦長い表になってしまい、とても面倒なのです。 よろしくお願いします。 中野 56.3 鈴木 62.8 原田 45.3 高橋 75.6 小野 68.2 田中 56.6 田村 74.2 竹内 66.3 金子 59.9 山本 67.6 和田 62.3 中村 56.3 中山 67.2 小林 78.2 石田 63.1 加藤 54.2 上田 66.4 吉田 64.2 森田 57.2 山田 89.6 柴田 75.2 山口 57.3 酒井 60.3 斎藤 68.4 工藤 76.6 松本 57.3 横山 61.2 宮崎 62.3

  • Excelで比の計算はできますか?

    Excel2000を使っています。 例えば、ひとつのセルに20、隣りのセルに15と入力した時、 回答を入力するセルに、4:3 と比の形で結果が反映されるようにしたいのですが、 こういう計算はExcelで出来るのでしょうか?

  • エクセルでの計算式の作り方を教えてください。

    例えば、ある調査手数料を計算する場合、調査4件までは30,000円、1件増すごとに5,000円加算されるとします。 A列のセルに、1,2,3,4,5・・・と件数を入力し、その右側のB列のセルに料金を出す計算式を作りたい場合、 5件以上の場合は、B5=(A5-4)*5000+30000 (A5は件数を入力したセル、以下A6,A7・・・となります) となることはわかるのですが、4件目まで(A1~A4)の場合のB列の値がおかしくなってしまいます。 どういう式を作って入れておけばよいのでしょうか?

  • 行と列の条件に一致したら印を付けたい

    シート1に名前と商品のリストがあります 名前 商品 佐藤 りんご 佐藤 みかん 佐藤 ぶどう 加藤 みかん 山本 バナナ 山本 みかん 小林 りんご 小林 ぶどう 小林 みかん 小林 バナナ シート2の行に名前、列に商品名の表があり、シート1のリストを元に 行と列の条件に一致した箇所に印をつけたいのですが、 何か適当な関数はありますでしょうか? りんご みかん ぶどう バナナ 佐藤 加藤 山本 小林

  • Excelの表計算について

    Excelの表計算について 私が使っているのはExcel2003です。 仕事で(在宅ワーク)Excelを使っています。 相手側から入力用のフォーマットが送られてきて、それに入力していくのですが その中に計算式も埋め込まれています。 横の列の2マスぐらいを掛けたり割ったりしたやつがその隣のマスに表示されるのですが PDFファイルの資料を見ながら数値を入力していくのですが、PDFファイル1枚に30件ぐらいの資料が載っています。 それを一気に入力して、Excelを見て間違いがないか確認します。 その際に、一個飛ばして打ってしまった時とかに、セルを挿入して下方向にシフトを選んでいるのですが それをしているせいなのか、表計算がおかしくなっています。 数値を打ってその計算結果が表示された際に、その数値を打った横のセルではなく 一つ上の列のセルに計算結果が表示されます。 表計算式が狂っているせいではなく、私がセルの挿入等をやってるせいかと思うのですが これは再計算とかできないものでしょうか? 気付いたのが1000件以上入力した後だったので 今から全部打ちなおすとなると期日までに間に合わなくて。 回答お待ちしてます。

  • Excelの計算式の続き

    この前Excelの計算式を教えていただいたのですが、それをしたら、Countする列に文字と数字が一緒に入力するときがあります。そのときには、その文字と数字が一緒になったセルはカウントされません。たとえば、”N122”というように入力したときです。このセルもカウントされるようにする計算式はあるのでしょうか?もしあれば、その計算式を教えてください。

  • エクセルの計算式で表の合計を出す

    A,B a,鈴木 a,佐藤 a, a,鈴木 a, a,加藤 a, b,山田 b,鈴木 b, 上記のようなcsv ファイルがあります。 列Aには、a,b,c,d...といったいくつかの文字がそれぞれ複数あります。 列Bには、人名が入ったセルと空欄のセルが混じっています。 そして、人数の合計を列Aに示された文字ごとに出す方法をお願いします。 理想は、空いているセルに、計算式を入力し、 a,4 b,2 というように表示出来ればベストです。 お願いします。

  • エクセル関数について教えてください

    エクセル関数についてご教授ください。 添付図のようなデータ入力シートがあり入力者は山田、太田、斉藤の3名が入力します。 今、山田さんが7/29日の数学の列の10:40-12:10行のセルに「伊藤」と入力し、太田さんが同日のEnglishの列の13:00-14:30行のセル に「伊藤」と入力し、さらに斉藤さんが同日の国語の列の14:40-16:10行のセルに「伊藤」と入力した場合にsheet2(シート名:伊藤)の表に図で示すようなデータを自動で入力させたいと考えています。 sheet1の日付は横に1週間分あります。同様にSheet2(伊藤)にも同じ日付で1週間分あります。 このようなことは可能でしょうか? エクセル関数初心者で非常に困っています。 どうかご指導いただきたいです。

専門家に質問してみよう