- ベストアンサー
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 ・・・・・・ --------------------------------------------------------------- (飲み物の名前の間は別にセミコロンでなくても結構です) マクロとか使わず、ワークシート関数でできる方法があるといいのですが・・・。 よろしくお願いします!
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
全部を見なければいけないのでそれぞれの列を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&";","")
その他の回答 (2)
- KURUMITO
- ベストアンサー率42% (1835/4283)
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となります。
お礼
ありがとうございます! あと、同じような質問を連発してすみません。 「この投稿は、現在サポートで確認中のため、回答は他の方には表示され・・・」と出たので、太郎とか花子とか、個人名っぽいことを書いたのが悪かったのかなと思って、A氏、B氏・・に変更して投稿したらこんなことに・・・。
- kawayasu05
- ベストアンサー率20% (2/10)
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です!!
お礼
ありがとうございます!
お礼
シンプルで分かり易かったです。 ありがとうございます!