• ベストアンサー

Excelで、各行で割合が多いものを抜き出す方法

Excelで、各行で、30%を超えるデータの「名前」を表示するにはどうすればよいでしょうか? たとえば、以下のように、 「各人が、最近100日間で朝ごはんの時に何を飲んだか?」を割合として示す表があったとします。 当然ですが、割合は 0から1.0の間です。 ---------------------------------------------------------------------    A    B    C    D    E    F    G 1  名前   牛乳   コーヒー 水    お茶   紅茶 2  A氏   0.20   0.40   0.40   0.00   0.00    3  B氏   0.22   0.00   0.28   0.50   0.00    4  C氏   0.00   0.00   0.10   0.50   0.00    5  ・・・・・・ (第一行には見出しを入力しています。第A列には名前を入力しています) --------------------------------------------------------------------- G列に、30%以上の頻度で選択された飲み物を表示したいのです。 (つまり、100日間で30日以上選択された飲み物です。) -----------------------------------------------------------------    A    B    C    D    E    F    G 1  名前   牛乳   コーヒー 水    お茶   紅茶   10%以上 2  A氏   0.20   0.40   0.40   0.00   0.00   コーヒー;水; 3  B氏   0.22   0.00   0.28   0.50   0.00   お茶; 4  C氏   0.00   0.00   0.10   0.90   0.00   お茶; 5  ・・・・・・ --------------------------------------------------------------- (飲み物の名前の間は別にセミコロンでなくても結構です) マクロとか使わず、ワークシート関数でできる方法があるといいのですが・・・。 よろしくお願いします!

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

  • ベストアンサー
  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.2

全部を見なければいけないのでそれぞれの列をIF文で =IF($B2>=0.3,$B$1&";","")&IF($C2>=0.3,$C$1&";","")&IF($D2>=0.3,$D$1&";","")&IF($E2>=0.3,$E$1&";","")&IF($F2>=0.3,$F$1&";","")&IF($G2>=0.3,$G$1&";","")

white-tiger
質問者

お礼

シンプルで分かり易かったです。 ありがとうございます!

その他の回答 (2)

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

G2セルに次の式を入力し下方にオートフィルドラッグします。 =IF(A2="","",LEFT(IF(B2>=0.3,B$1&"; ","")&IF(C2>=0.3,C$1&"; ","")&IF(D2>=0.3,D$1&"; ","")&IF(E2>=0.3,E$1&"; ","")&IF(F2>=0.3,F$1&"; ",""),LEN(IF(B2>=0.3,B$1&"; ","")&IF(C2>=0.3,C$1&"; ","")&IF(D2>=0.3,D$1&"; ","")&IF(E2>=0.3,E$1&"; ","")&IF(F2>=0.3,F$1&"; ",""))-2)) ここで ;の後に半角のスペースを使っていますので、その場合には式の最後の部分で-2を使っています。スペースを入れない場合には-1となります。

white-tiger
質問者

お礼

ありがとうございます! あと、同じような質問を連発してすみません。 「この投稿は、現在サポートで確認中のため、回答は他の方には表示され・・・」と出たので、太郎とか花子とか、個人名っぽいことを書いたのが悪かったのかなと思って、A氏、B氏・・に変更して投稿したらこんなことに・・・。

回答No.1

G2に =IF(B2<0.3,"",$B$1&";")&IF(C2<0.3,"",$C$1&";")&IF(D2<0.3,"",$D$1&";")&IF(E2<0.3,"",$E$1&";")&IF(F2<0.3,"",$F$1) と入力し、下のセルにコピーすればOKです!!

white-tiger
質問者

お礼

ありがとうございます!

関連するQ&A