- ベストアンサー
エクセル 関数 マクロ
エクセルの関数で5項目の文字(仮に【あ~お】)が合ったらカウントする関数、但しプルダウンで絞るとその分カウントに比例すること。 で下記関数を作成しましたが、 =SUMPRODUCT((SUBTOTAL(103,INDIRECT("AA"&ROW(AA10:AA10000))))*(AA10:AA10000="あ")) AA列10行~10000行にあがあればカウントする。動作確認済み この関数を右列にコピーしていきたいんですが、自動でABに変更にならない箇所があります。対策教えていただきたく。
- みんなの回答 (12)
- 専門家の回答
質問者が選んだベストアンサー
私が頼んだ情報は出してくれないのですね。私の言っていることが理解できないのか、情報を出したくないのか判りませんが、情報がないとできないので勝手に決めます。 プルダウンと書いてありますが、フィルターですよね。私はINDIRECTが出てきたらフィルターと刷り込まれているので、フィルターだと思い込んでいました。他の方は、文字通りプルダウンだと思い、フィルターの考慮をしていません。 以下の条件です。 ・検索文字は「あ」だけ(質問にあった数式と同じ) ・J列に連番又は項目が入っている(必ず何か入っていて空白が無い) ・K17~FZ10000が計算対象 ・計算結果はK1~FZ1 に表示 ・ワークエリアはGZ列を使う。(本当はA列に作った方がいいのですが、空いてないと思うので) GZ17 =SUBTOTAL(103,J17) GZ10000 迄コピペ。 K1: =COUNTIFS($GZ17:$GZ10000,1,K17:K10000,"あ") FZ1 迄コピペ。 (これなら短いので、7種類加算しても大した長さになりません) J列が必ず何か入っているとは限らない場合、別の列にして下さい。とこにもない場合、1列作って下さい 画像を貼りたい場合、新しい質問を立てればいいです。どうせタダだし。
その他の回答 (11)
- SI299792
- ベストアンサー率47% (774/1620)
=SUMPRODUCT((SUBTOTAL(103,INDIRECT("R"&ROW(AA10:AA10000)&"C"&COLUMN(AA1),)))*(AA10:AA10000="あ")) AA列に入れるなら、 =SUMPRODUCT((SUBTOTAL(103,INDIRECT("R"&ROW(AA10:AA10000)&"C"&COLUMN(),)))*(AA10:AA10000="あ")) でもいいです。
お礼
早速のご回答ありがとうございます。 悩み解決、ROWの前の"R"はどんな意味ですか? 併せて、かなり重いデータ量で明日がに関数では限度があるような、これをマクロ化って容易でしょうか?
- 1
- 2
補足
いろいろありがとうございます。 正直この関数も見よう見まねでなにも理解しておりません。 新たな質問で今の形の一部を写真貼ります。 ご確認ください。 表題、同じで新たに質問します。 すみませんが画像目を通してください。