• ベストアンサー

エクセル グループ員の内容を判別する関数

次のエクセルの関数を教えてください グループ名は数字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 関数でできるでしょうか。

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

  • ベストアンサー
  • kkkkkm
  • ベストアンサー率65% (1617/2456)
回答No.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),"")

pocorino
質問者

お礼

欲しい答えが得られました。 複雑な関数なので、なかなか理解できないのですが、これから自分なりに分析しようと思います。 ありがとうございました。

Powered by GRATICA

その他の回答 (1)

  • kkkkkm
  • ベストアンサー率65% (1617/2456)
回答No.1

#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),"")

関連するQ&A

  • エクセルのVLOOKUP関数について

    エクセルのシート(1)に組合員コード(7桁),氏名,商品,数量・・・が入力してあって、列を挿入し、その組合員コードの左3桁を表示するLEFTの文字列関数を入力します。 それによって3桁が表示され、その3桁のコードは、支店コードを意味するので、シート(2)に支店コード、支店名が入力してあるのでそこから参照するようにシート(1)の3桁が表示されている隣に新たに列を挿入し、シート(2)の支店コードから支店名を引き出すようにVLOOKUP関数を入力したら、「N#A」という表示が出て支店名が表示されません。 LEFT関数によって表示された文字列だと「N#A」で支店名が表示されないのですが、自分で3桁の数字を入力すると支店名が表示されます。 3桁の文字列の結果の値だけをコピーしても、「N#A」が表示され、支店名が表示されません。 文字列関数によって表示された結果から、VLOOKUPで参照は出来ないのでしょうか? 1つずつ自分で数字を入力するしかないのでしょうか? 他に何か別の方法でも構いませんので、教えていただけないでしょうか?

  • エクセルの検索・関数

    お分かりの方、教えて下さい!! エクセルにて、 A列に13桁の数字がランダムにあり、 C列にも13桁の数字がランダムにあり、 E列には1桁~3桁の数字がランダムにあります。 B列に同じ行のA列の13桁と一致するC列の13桁を見つけ、 そのC列のと同じ行のE列の数字を入れたいのです。 上記の内容が出来る関数を教えて下さい。 分かりにくくてすみませんが、よろしくお願いいたします。

  • エクセル関数

    次のような場合の関数をご教示頂けないでしょうか? ・A列には、時々連続する通し番号が入っています。 例 1 2 3 4 4 4 5 6 7 7 7 7 7 8 ・B列には、A列が1個の数字の行には 0 が、複数の数字の行には 1 が入っています。 例 0 0 0 1 1 1 0 0 1 1 1 1 1 0 ・C列に、関数で次のように自動入力したいのです。  B列が 0 なら 0  B列が 1 のグループの先頭行には 1  B列が 1 のグループの途中の行には 2  B列が 1 のグループの最後の行には 3 例 0 0 0 1 2 3 0 0 1 2 2 2 3 0 どういう関数になりますでしょうか? よろしくお願い致します。

  • エクセル関数

    MAXを26000とし3桁の数字がいくつかあります26000に近いグループを検索したいのですがエクセル関数をつかってできないですか?宜しくお願いします。

  • Excel特定の文字列を抽出する関数を教えてください。

    A列に***AAA/2桁の数字***と言う値があります。 *はランダムです。 2桁の数字もランダムです。 AAA/2桁の数字のみを抽出する関数を教えてください。 重複する値は、1つを残して削除したいです。 よろしくお願いします。

  • エクセルで文字列の5桁目が9なら0に変更

    エクセル初心者です。 インターネットで調べてみたのですが、同様の質問にヒットしませんでしたので、教えてください。 A列に8桁の会員番号が文字列で表示されています。 この8桁のうち右側の5桁を関数(RIGHT(a8,5))でB列に抽出しています。 抽出された5桁の数字ですが、最上位桁が9の場合、0に変えたいのです。 A        B 01004567    04567  02015678    15678 03098765    98765 → 9を0に入替して「08765」と表示 このような対応が出来る関数を調べたのですが分かりませんでした。 ご教示のほど、よろしくお願いします。

  • エクセルの関数を教えてください

    どういう関数を使えばよいのか分からずに困っています。ご存知の方教えて頂けないでしょうか。 ある列(例えばA3~A500)に入力されている数字の中で最大の数字を探す時には『MAX(A3:A500)』としますが、その列には平成29年度(29で始まる5ケタの数字)のものと平成30年度(30で始まる5ケタの数字)のものが混在しており、MAX関数を使うと必ず平成30年度のものが出てきます。 しかし、その中の29年度のもの(29で始まる5ケタの数字)で最大の数字を探したいのですが、その方法が分かりません。 どういう関数、または方法があるのでしょうか? ご存知の方は教えて頂けないでしょうか? よろしくお願いします。

  • エクセル関数について教えてください。下記のように(分かりにくかったらす

    エクセル関数について教えてください。下記のように(分かりにくかったらすいません)A列(アルファベット)とB列(数字)にデータがあります。B列にソートをかけ同じ値のものを揃えた状態で、B2~B5が同じもので、なおかつA2~A5も同じデータのものをC列に抽出したいのですが、エクセルが分かりません。C列に抽出するのは「あり」でも「○」でも分かればいいです。 エクセル関数は初心者なので、分かりやすく簡単にご回答していただけますようお願いしjます。。。 1 A列 B列 C列 2 abc 123 あり 3 def 123 4 edf 123 5 abc 123 あり 6 ghi 789 あり 7 ghi 789 あり 8 ghe 789

  • エクセル 関数 001 002と文字列で表示した

    お世話になります。 XP/ エクセル2003 使用です。 エクセルの関数で、 数字を3桁で数字を表示したく 下記のように関数を組みました。 (セルの書式は、文字列にしています) 001の場合  =IF(A1="","","001") とし、001が問題なく返ってきます。 次のセルに、002と連番を振っていきたいので  =IF(A2="","",B1+1) としましたが、   2  (002ではない) と返ってきます。(書式は文字列) 002、003、004・・・と続けていきたいのですが、 どのようにすればよろしいでしょうか? ご多用中恐れ入りますが、 よろしくお願いします。

  • エクセル 関数

    エクセルの関数式で質問です。 VBAはまだよくわからないので関数で下記はできますか A1 あ A2 い A3 A3に「あ」という文字を検索値として 次の行にある「い」を抽出する ※次の列ではなく次の行がいいです。 使うデータは毎回コピペしてくるので セルの位置は毎回ずれるため 「あ」をキーワードにして次の行を抽出したいです。

専門家に質問してみよう