- ベストアンサー
エクセル グループ員の内容を判別する関数
次のエクセルの関数を教えてください グループ名は数字6桁です。 グループの構成員は1~6人で、決まっていません。 構成員の種別を0,1,2,3,4,#n/aの5種類に分けました。 各グループの内、構成員が0と1、もしくは1だけの種別で構成されているグループを割り出したいのです。 例 列A 列B グループ名 構成員 123456 0 123456 1 123456 0 111111 0 111111 0 222222 2 222222 0 222222 1 333333 1 333333 1 444444 #n/a 444444 1 444444 1 555555 3 555555 4 666666 1 この場合は、抽出されるグループは次のものです。 123456 333333 666666 関数でできるでしょうか。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
回答No.1の訂正です。 A1からデータがあるものでテストしてました。A2からの感じなので C2に =IF(A2=A3,"",IF(COUNTIF($A$2:$A$100,A2)-SUMPRODUCT(($A$2:$A$100=A2)*($B$2:$B$100=0)*1)=0,"",IF(COUNTIF($A$2:$A$100,A2)-SUMPRODUCT(($A$2:$A$100=A2)*(($B$2:$B$100=1)+($B$2:$B$100=0))*($B$2:$B$100<>"")*1)=0,ROW(A1),""))) 出したい列に =IFERROR(INDEX($A$2:B$100,MATCH(SMALL(C$2:C$100,ROW(A1)),C$2:C$100,0),1),"")
その他の回答 (1)
- kkkkkm
- ベストアンサー率66% (1719/2589)
#N/Aがあると計算できないので B列の式を =IFERROR(元の式,"") にして#N/Aを消してもらって 長くなりますが C1に =IF(A1=A2,"",IF(COUNTIF($A$1:$A$100,A1)-SUMPRODUCT(($A$1:$A$100=A1)*($B$1:$B$100=0)*1)=0,"",IF(COUNTIF($A$1:$A$100,A1)-SUMPRODUCT(($A$1:$A$100=A1)*(($B$1:$B$100=1)+($B$1:$B$100=0))*($B$1:$B$100<>"")*1)=0,ROW(A1),""))) として下にコピーで作業列を作ります。 結果を出したい列に以下の式を入れて下にコピーして試してください。 =IFERROR(INDEX($A$1:B$100,MATCH(SMALL(C$1:C$100,ROW(B1)),C$1:C$100,0),1),"")
お礼