- 締切済み
countif関数について
Excelを用いて、csv形式のファイルの一部から、指定した数値の個数を調べたいのですが、うまく動作しません。 csv形式のファイルは、 "商品名","在庫数" によって構成されています。 そこから、例えば在庫数が10個未満の商品の数、在庫数が0個の商品の数を取り出したいのです。 また、csv形式のファイルは1日に数回生成され、ファイル名は、zaiko_12345.csvのようになっており、「12345」の部分はランダムな5桁になります。 やりたいことは、たとえば、A1セルにランダムな5桁の数値を入れることによって、 A2セルに在庫数が10個未満の商品の数、A3セルに在庫数が0個の商品の数が自動的に表示されるようにしたいのです。 countifやindirectなどを使えばできそうなのですが、うまくいかずに困っている状況です。 ご教示のほど、よろしくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- KURUMITO
- ベストアンサー率42% (1835/4283)
A1セルへの5桁の数値はファイル名の一部を意味するとしたら例えば A2セルへの入力の式は次のようになりますね。 =IF(AND(ISNUMBER(A1),LEN(A1)=5),COUNTIF(INDIRECT("'[zaiko_"&A1&".csv]Sheet1'!B5:B100"),"<10")-COUNTIF(INDIRECT("'[zaiko_"&A1&".csv]Sheet1'!B5:B100"),0),"") A3セルへの入力の式は次のようになります。 =IF(AND(ISNUMBER(A1),LEN(A1)=5),COUNTIF(INDIRECT("'[zaiko_"&A1&".csv]Sheet1'!B5:B100"),0),"")
- KURUMITO
- ベストアンサー率42% (1835/4283)
CSVのファイル形式についてはよくわかりませんが、例えばA5セルからA100セルまでに商品名が、またB5セルからB100セルまでに在庫数があるとして商品名に重複が無いのでしたらA2セルへの入力の式は次のようになりますね。 =IF(AND(ISNUMBER(A1),LEN(A1)=5),COUNTIF(B5:B100,"<10")-COUNTIF(B5:B100,0),"") A3セルへの入力の式は次のようになります。 =IF(AND(ISNUMBER(A1),LEN(A1)=5),COUNTIF(B5:B100,0),"") 上記の式が参考になりましたら。
お礼
早速の回答ありがとうございます。 A5セルからB100セルまでにデータが存在している場合についてテストした結果、うまくいきました。 ところで、外部ファイルを参照する場合にはどのようにしたらよいでしょうか。 例えば、A1セルに23456を入力すれば、zaiko_23456.csvからデータを参照して個数を取得しA2セル、A3セルに表示するといった場合です。 よろしくお願いいたします。