[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『subtotalとcountif関数の合成』(みーちゃん)
おはようございます。
お忙しいところ恐れ入りますが、教えてください。
現在
C D 4 ハンカチ =COUNTIF(D12,D10006,$C4) 5 タオル =COUNTIF(D12,D10006,$C5) とCの品数をDに表記するようにしております。 これをフィルターをかけた時にも同様に正確な数字が出るような関数はありますでしょうか? subtotal関数とcountif関数を合体できればいいかとも思ったのですが$C4がネックになってなかなかいい方法がみつかりません。
どうかよろしくお願いします。
< 使用 Excel:unknown、使用 OS:Windows10 >
D4セルに =SUMPRODUCT(SUBTOTAL(3,INDIRECT("D"&ROW(D$12:D$10006)))*(D$12:D$10006=C4)) と入力して下へフィルコピーでどうか。 (ねむねむ) 2017/06/29(木) 11:39
実際に入力した式をコピーして貼り付けてみてくれないか?
なにか行数の27倍の値のようだが。 (ねむねむ) 2017/06/29(木) 13:07
あっもしかして27倍ってことは/27入れれば解決? ちょっとそれも試してみます。
(みーちゃん) 2017/06/29(木) 13:15
念のため、EXCELのバージョンはなんだろうか?
あと、 >なにか行数の27倍の値のようだが。 これは 9995*27=269865 と12行目から10006行目までの27倍になっているということなので27で割っても意味がないかと。 (ねむねむ) 2017/06/29(木) 13:27
27で割っても意味がなかったです^^;
それと何かのVBAが被って数字が出たのかと思ってマクロのないBookを立ち上げても同じ数字でした。
(みーちゃん) 2017/06/29(木) 13:55
=SUMPRODUCT(SUBTOTAL(3,INDIRECT("D"&ROW(D$12:D$10006)))) =SUMPRODUCT((D$12:D$10006=C4)*1) と入力した場合、それぞれ結果はどうなるだろうか? (ねむねむ) 2017/06/29(木) 14:12
=SUMPRODUCT((D$12:D$10006=C4)*1)とした場合27と出ます
手動で計算した場合27が正解です
もしかして。。。
(みーちゃん) 2017/06/29(木) 14:27
もう一つ。
=SUMPRODUCT((D$12:D$10006<>"")*(D$12:D$10006=C4)) だとどうなるだろうか?
(ねむねむ) 2017/06/29(木) 14:46
=SUMPRODUCT(SUBTOTAL(3,INDIRECT("D12:D10006"))*(D$12:D$10006=C4)) や =SUMPRODUCT(SUBTOTAL(3,D$12:D$10006)*(D$12:D$10006=C4)) なら269865になってもわかるのだが。 (ねむねむ) 2017/06/29(木) 16:41
色々と検証してみたので長文になりますが、結果を言います。
まず最初にねむねむさんの教えてくれた
=SUMPRODUCT(SUBTOTAL(3,INDIRECT("D"&ROW(D$12:D$10006)))*(D$12:D$10006=C4))
ですが エクセル2010で見事に出来ました。
出来なかった理由も検証してみたのですが、バージョンによっては出来ない、設定によっては出来ないという
結論に至りました。*が特定の状況下や関数で乗算処理になるのではないかと推測しました。
ですので正解数27に対して27の倍数返しで表示されるのかと思います。
こちらの計算式
=SUMPRODUCT((D$12:D$10006<>"")*(D$12:D$10006=C4))
の表示も27になります
=SUMPRODUCT(SUBTOTAL(3,INDIRECT("D12:D10006"))*(D$12:D$10006=C4))
=SUMPRODUCT(SUBTOTAL(3,D$12:D$10006)*(D$12:D$10006=C4))
上記2つは52623と表示されます
こちらは27で割ると1949
丁度空白データを除いたセル個数1949になります
とりあえず、エクセル2010でやります。
ありがとうございました。
(みーちゃん) 2017/06/30(金) 01:33
>バージョンによっては出来ない、設定によっては出来ないという結論に至りました。 >*が特定の状況下や関数で乗算処理になるのではないかと推測しました。
その結論には賛同できません。少なくとも2003ならできるはず。
後段の推測に関しては明らかに間違い。 その「*」は乗算ですよ、状況やバージョンの違いなど関係ありません。
先入観を捨てて、もう一度2003でも試してみたらどうですか。
参考まで。 (笑) 2017/06/30(金) 12:57
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.