質問: エクセルの関数について エクセルのシート1で1行目には見出しがあります。 a1には「店名」の文字 a2には、a店 a3にはc店 a4にはb店 a5にはa店とa2~a200には、ランダムにa店~c店の文字がランダムに入っています。 b2には、「個数」の見出し文字。b2には 3 b3には 201 b4には 42 などとb2~b200まで色々な数字が入っています。 ちなみに b列には 0~300までのランダムな数字。 これをシート2に、b列の数の区分けをしたいのです b列の区分け 0~30 31~50 50~300 よって、シート2のa1には「店名」という文字。b2には 0~30 c2には 31~50 d2には50~300という文字が入っています・ シート2のa2には、a店 シート2のa3には b店 シート2の a4には c店 という文字が入っています。 シート2のb2にはシート1のa店のb列にある b2~b200に入ってる文字の 0~200までに入ってる数字 0~30の セルの個数を出したいのですが どうやってシート2に関数を入れたらいいのですか?教えてください
回答: >シート2のa1には「店名」という文字。b2には 0~30 c2には 31~50 d2には50~300という文字が入っています・ の部分は 「シート2のa1には「店名」という文字。b1には 0~30 c1には 31~50 d1には50~300という文字が入っています・」 の間違いではないでしょうか? もし、そうであれば、レイアウトを変更しなくとも良い方法も御座います。 【excelのバージョンがexcel2007以降の場合】 sheet2のb2セルに次の関数を入力してから、sheet2のb2セルをコピーして、sheet2のb2~d4の範囲に貼り付けて下さい。 =countifs(sheet1!$a$2:$a$200,$a2,sheet1!$b$2:$b$200,">="&right(b$1,find("~",b$1)-1),sheet1!$b$2:$b$200,"<="&replace(b$1,1,find("~",b$1),)) 【excelのバージョンがexcel2007よりも前の場合】 sheet2のb2セルに次の関数を入力してから、sheet2のb2セルをコピーして、sheet2のb2~d4の範囲に貼り付けて下さい。 =sumproduct((sheet1!$a$2:$a$200=$a2)*(sheet1!$b$2:$b$200>=right(b$1,find("~",b$1)-1)+0)*(sheet1!$b$2:$b$200<=replace(b$1,1,find("~",b$1),)+0))