[[20121003120941]] 『種類を数える関数、ではないのでしょうか』(mr)  ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『種類を数える関数、ではないのでしょうか』(mr)
はじめまして、rmです
早速ですが質問させてください

 / A B C D E (列)
 1 1  a
 2  1  a
 3  2  a
 4  3  a
 5  4  b
 6  5  a
(行)

というエクセル表がある場合に、「B列に『a』が入力されている行のA列の数字が何種類あるか数える(今回の場合だと4種類)関数」の数式を教えて頂けないでしょうか。
SUMPRODUCTやCOUNTIF、FREQUENCYなど試してみたのですが、上手くできませんでした。
使用しているエクセルは2010、OSはWindows7です(rm)


 =COUNT(INDEX(0/((MATCH("a"&-A1:A100,B1:B100&-A1:A100,0)*(A1:A100<>""))=ROW(A1:A100)),))

 (GobGob)

GobGobさん

できました、ありがとうございます。
ですが、この関数だと100行目を超える場合に対応できません。
=COUNT(INDEX(0/((MATCH("a"&-A:A,B:B&-A:A,0)*(A:A<>""))=ROW(A:A)),))
に変えてみたのですが、エラーでできませんでした。
すみませんが、この場合にはどうしたら良いでしょうか。


 配列数式なので行全体指定は無理です。行範囲を余裕もたして指定してやってくらさい。

 (GobGob)

GobGobさん

ありがとうございます。
この関数の引用元をほかのワークシートにできませんか?

=COUNT(INDEX(0/((MATCH("株式会社マルエツ"&-Sheet1!$A$2:$A$100,Sheet1!$B$2:$B$100&-Sheet1!$A$2:$A$100,0)*(Sheet1!$A$2:$A$100<>""))=ROW(Sheet1!$A$2:$A$100)),))

という数式をワークシート(Sheet2)に書いたのですが、計算結果が0になってしまいます
この場合はどうしたら良いでしょうか。
重ね重ねすいません。

(mr)


すみません、上の"株式会社マルエツ"を"a"に読み替えてください

(mr)


 ROW関数を

 × ROW(Sheet1!$A$2:$A$100) → ○ ROW(Sheet1!$A$1:$A$99)

 (GobGob)

 B列に記号(社名?)が入力されてるのに
 同じ行のA列が未入力(数式で空白にしてるのは除く)なんてことがないんやったら

 =COUNT(1/FREQUENCY(IF(Sheet1!$B$2:$B$100="a",Sheet1!$A$2:$A$100),Sheet1!$A$2:$A$100))

 あるんやったら

 =COUNT(1/FREQUENCY(IF(ISNUMBER(Sheet1!$A$2:$A$100)*(Sheet1!$B$2:$B$100="a"),Sheet1!$A$2:$A$100),Sheet1!$A$2:$A$100))

 どっちにしても CtrlキーとShiftキーを押しながらEnterで確定
 確定後オートフィル(コピーする場合)
 
 (よみびとしらず)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.