- ベストアンサー
エクセル関数 行ごとで数字の種類を数えて抽出
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
I3セルに下記を入力して、 下にコピーをすれば計算できます。 =IF(AND(SUMPRODUCT(SIGN(COUNTIF(A3:H3,{1,2,3,4,5,6})))>=3,SUM(A3:D3)>0,SUM(E3:H3)>0),"○","×") 配列数式を使っているので、 ちょっとわかりにくいのが欠点ですが。
その他の回答 (3)
- kagakusuki
- ベストアンサー率51% (2610/5101)
>A群とB群にそれぞれ0~6までの数字が入っています。 という条件が確実に守られている場合には、I2セルに次の関数を入力してから、I2セルをコピーして、I3~I5の範囲に貼り付けて下さい。 =IF(AND(SUM($A2:$D2),SUM($E2:$H2),SUMPRODUCT((COUNTIF($A2:$H2,{1,2,3,4,5,6})>0)*1)>2),"〇","×") 或いは、 =IF(AND(SUM($A2:$D2),SUM($E2:$H2),SUMPRODUCT(ISNUMBER(MATCH({1,2,3,4,5,6},$A2:$H2,0))*1)>2),"〇","×") 又、もし >A群とB群にそれぞれ0~6までの数字が入っています。 という条件が必ずしも保障されておらず、マイナスの値や1.5の様な少数部分を含む値、6を上回る値、等が入力されている事もあり得るという場合には、I2セルに入力する関数を次の様なものとして下さい。 =IF(AND(SUMPRODUCT(COUNTIF($A2:$D2,{1,2,3,4,5,6})*1),SUMPRODUCT(COUNTIF($E2:$H2,{1,2,3,4,5,6})*1),SUMPRODUCT((COUNTIF($A2:$H2,{1,2,3,4,5,6})>0)*1)>2),"〇","×") 或いは、 =IF(AND(SUMPRODUCT(ISNUMBER(MATCH({1,2,3,4,5,6},$A2:$D2,0))*1),SUMPRODUCT(ISNUMBER(MATCH({1,2,3,4,5,6},$E2:$H2,0))*1),SUMPRODUCT(ISNUMBER(MATCH({1,2,3,4,5,6},$A2:$H2,0))*1)>2),"〇","×")
お礼
詳しく教えていただいてありがとうございました。やってみてできました。
- msMike
- ベストアンサー率20% (364/1804)
- kkkkkm
- ベストアンサー率66% (1719/2589)
J2に =IF(ISNA(MATCH(COLUMN(A1),$A$2:$H$2,0)),0,1) と式を入力して O2まで フィルしてください。 1から6までの数値が範囲内にあるかどうかをそれぞれの数値に対して調べています。あれば1なければ0になります。 P2に =SUM(J2:O2) と式を入力してください。 範囲内にあった数値の個数を数えています。 I2に =IF(OR(SUM(A2:D2)=0,SUM(E2:H2)=0),"×",IF(P2>=3,"○","×")) と式を入力して I5までフィルしてください
お礼
やってみましたが、できませんでした。
お礼
高度なテクニックですね。1行にまとまっていていいですね。ありがとうございました。