A 回答 (10件)
- 最新から表示
- 回答順に表示
No.11
- 回答日時:
一般論として、
配列数式で SAMPRODUCT構文を、
集計目的で 用いる、
際の 基本構造は、
=SAMPRODUCT((条件1)*(条件2)[*(条件3)…]*(集計値1[+集計値2…]))です。
尚、
何故 各々の、
条件を 掛け算するか、
と いえば。
其れにより、
論理演算の Andが、
四則演算で なされるからで。
もし、
Andではなく Orを、
なしたい 場合は、
足し算を すると、
いいでしょう。
又、
第2引数を 用いて、
マイクロソフトを 信じすぎて、
苦悩せずとも。
古くから、
既に 確認された、
著作権的にも フリーな、
やり方、
第1引数内で 四則演算を、
用いて 計算すれば、
いいだけでしょう。
元より、
マイクロソフトの、
公式文章と、構文動作は、
必ずしも 一致しませんから、
公開文章を 信じ過ぎて、
苦悩するのは、
一寸 徒労かも、
知れませんよ?
まぁ、
其の 内に、
含まれる 仕様と、
いう 名の、
bugを、
解き明かして ハンドリングしきり、
利用が 叶うように、
先鋭域に 躍り出る、
事も、
又 いいのですがね。
No.10
- 回答日時:
No.9です。
d-q-t-pさんから頂いたご指摘を踏まえてNo.6の数式を修正してみました。
ご質問の前提が
>SUMPRODUCT関数を使って複数条件データの重複件数を表示したい
ということなので、SUMPRODUCT関数にこだわっています。
古いバージョンではCtrl + Shift + Enter確定が必要(※)です。
(※当然ですがExcelが前提です。googleスプレッドシートであれば不要です。)
=SUMPRODUCT(IFERROR(($B$2:$B$31>=$F$2)*($A$2:$A$31<=$F$3)*(LEN($C$2:$C$31)/
(LEN(TEXTJOIN("",1,IF(($B$2:$B$31>=$F$2)*($A$2:$A$31<=$F$3),$C$2:$C$31,"")))-LEN(SUBSTITUTE(TEXTJOIN("",1,IF(($B$2:$B$31>=$F$2)*($A$2:$A$31<=$F$3),$C$2:$C$31,"")),$C$2:$C$31,"")))),""))
No.6の添付画像のデータがあったとして、F4セルに記述する数式は上記のものでいかがでしょうか。
No.9
- 回答日時:
No.6です。
大変失礼しました。No.6の回答は無かったこととしてください。
d-q-t-pさん、ご指摘ありがとうございました。
fujillinさんが、ご質問者に指摘された、
>計算対象が 全部のデータになっているので、計算はできますがお求めの結
>果にはならないということかと思います。
>多分、日にちで抽出したデータの中から種類を数えたいのではないかと想像
>しました。
と同じ間違いをおかしていたため、正しい結果にならないようです。
No.8
- 回答日時:
補足もなさそうだし 閉じられてもいないので一応。
=COUNT(1/(MATCH(IF((B2:B31>=F2)*(A2:A31<=F3),C2:C31,""),IF((B2:B31>=F2)*(A2:A31<=F3),C2:C31,"♪"),0)=ROW(2:31)-1))
Ctrl + Shift + Enterで確定
No.7
- 回答日時:
goomaniaさんの式は IFが入っているので 古いバージョンでは
Ctrl + Shift + Enter確定が必要です。なので「INDEX(配列,0)」を
入れる必要はないし SUMPRODUCTにする意味もないですね。 SUM
でも同じ結果になるでしょう。
TEXTJOINが入っているから Excel2016以降でないと使えないのは
いいとしても 第一引数が「""」なら CONCATでいいじゃないかとな
ります。
それは置いといて計算結果が少し変な気がします。その表だと
「B2:B31>=F2」なら 10・13・31行目は対象外なので結果は「10」
にならないといけないのでは?
No.6
- 回答日時:
>本件は、クローズいたします。
まだ、クローズされていないようなので、一応他の手段をお示しします。
ご質問者は、
>特定日付の範囲内のコードの重複しない件数を求めたいのです。
とおっしゃっているので、集計しなければいけないのは「コード」の数であって、コードはそのものは数値ではないと想像できます。
SUMPRODUCT関数を使うのであれば、添付画像のような表があったとして、以下のような数式で結果を表示できます。
=SUMPRODUCT(IFERROR(LEN(C2:C31)/ (LEN(TEXTJOIN("",1,INDEX(IF(($B$2:$B$31>=$F$2)*($A$2:$A$31<=$F$3),$C$2:$C$31,""),0)))-LEN(SUBSTITUTE(TEXTJOIN("",1,INDEX(IF(($B$2:$B$31>=$F$2)*($A$2:$A$31<=$F$3),$C$2:$C$31,""),0)),$C$2:$C$31,""))),""))
No.4
- 回答日時:
この質問に回答が付かない一番の理由は fujillinさんが書いている
> 複数の意味に解釈できるので、何をなさりたいのかはっきりしません。
に集約されるんですが そこに補足が付きませんね。
Excelのバージョンも不明なままですし。
ひとまず fujillinさんの解釈が合っていると仮定するなら
=COUNT(1/FREQUENCY(IF((A$1:A$10>=E2)*(A$1:A$10<=F2),B$1:B$10),IF((A$1:A$10>=E2)*(A$1:A$10<=F2),B$1:B$10)))
Ctrl + Shift + Enterで確定
B列が数値ならこれでできます。
皆様、ご教授ありがとうございました。
私のレベルで理解できない関数でしたので別の方法で対応いたします。
回答いただきました方々には申し訳ございませんでした。
本件は、クローズいたします。
No.3
- 回答日時:
No2です。
連投失礼。
式に無駄がありました。大して変わりませんが、一応、修正しておきます。
=SUM((MMULT((INDEX((A$1:A$10>=E2)*(A$1:A$10<=F2)*(B$1:B$10),)=TRANSPOSE(INDEX((A$1:A$10>=E2)*(A$1:A$10<=F2)*(B$1:B$10),)))*(ROW(A$1:A$10)>=COLUMN($A$1:$J$1)),1*(INDEX((A$1:A$10>=E2)*(A$1:A$10<=F2)*(B$1:B$10),)>0))=1)*1)
皆様、ご教授ありがとうございました。
私のレベルで理解できない関数でしたので別の方法で対応いたします。
回答いただきました方々には申し訳ございませんでした。
本件は、クローズいたします。
No.2
- 回答日時:
No1です
>~~の場合は「#VALUE」になります。
スピル機能がないバージョンですね。
その場合は面倒になりますが、
=SUMPRODUCT((範囲1=>日付1)*(範2=<日付2),INDEX(IF(集計範囲="",0,1/COUNTIF(集計範囲,集計範囲)),))
にして、配列数式として入力すれば算出されます。
と言っても、空白セルがある場合の対応法なので、そのまま1/COUNTIF(~~)の場合の結果と同じ値になるだけですけれど。
>~~にすると「5.641・・・」の結果でした。
1/COUNTIF(~~)の計算対象が 全部のデータになっているので、計算はできますがお求めの結果にはならないということかと思います。
多分、日にちで抽出したデータの中から種類を数えたいのではないかと想像しました。
UNIQUE関数が使える環境なら式はかなり簡単になりますが、どうやらスピル機能もダメらしいので、直接求めようとすると相当に面倒なことになります。
作業列(行)などを利用して順次結果を求めてゆく方法を取るほうが、わかり易く計算量も少なくできます。
無理矢理に直接求めるにしても、配列計算の長い式になってしまいますし、単純に「集計範囲」のような抽象的な表現だけでは表せないので、簡単なミニチュア版で以下にサンプルを作成してみました。
なさりたいこととあっているのかどうかは不明ですが・・・
添付図は、A列が日付で、B列が集計対象のデータと仮定しています。
E列の開始日とF列の終了日の間の日付のデータを抽出し、その中でB列の値の種類数をG列に求めています。
G2セルには、以下の式を入れ、配列数式として確定してあります。(Ctrl + Shift + Enterで確定)
=SUM((MMULT((INDEX((A$1:A$10>=E2)*(A$1:A$10<=F2)*(B$1:B$10),)=TRANSPOSE(INDEX((A$1:A$10>=E2)*(A$1:A$10<=F2)*(B$1:B$10),)))*(ROW(A$1:A$10)>=COLUMN($A$1:$J$1)),(ROW(A$1:A$10)/ROW(A$1:A$10))*(INDEX((A$1:A$10>=E2)*(A$1:A$10<=F2)*(B$1:B$10),)>0))=1)*1)
※ 配列乗算になっているので、範囲を大きくしすぎると計算負荷が増大しますのでご注意。
皆様、ご教授ありがとうございました。
私のレベルで理解できない関数でしたので別の方法で対応いたします。
回答いただきました方々には申し訳ございませんでした。
本件は、クローズいたします。
No.1
- 回答日時:
こんにちは
回答がないようなので・・・
>特定日付の範囲内のコードの重複しない件数を求めたいのです。
複数の意味に解釈できるので、何をなさりたいのかはっきりしません。
ひとまず、提示されている式から判断するものとして・・・
>SUMPRODUCT((範囲1=>日付1)*(範2=<日付2),(集計範囲,集計範囲))
>にすると合計計算できます。
エラーになると思いますけれど???
=SUMPRODUCT((範囲1=>日付1)*(範2=<日付2),集計範囲)
であれば、合計値は求められそうに思われます。
>SUMPRODUCT((範囲1=>日付1)*(範2=<日付2),SUMPRODUCT(1/COUNTIF(集計範囲,集計範囲))
式の意味も不明な上になさりたいことも不明なので、結果が表示できるようにするなら、
=SUMPRODUCT((範囲1=>日付1)*(範2=<日付2),1/COUNTIF(集計範囲,集計範囲))
にすれば「集計範囲」に空欄がなければ結果が表示されるでしょう。
(空欄を含む場合は、#DIV/0! になります。)
エラー回避のために、上式で空欄を外したければ、
=SUMPRODUCT((範囲1=>日付1)*(範2=<日付2),IF(集計範囲="",0,1/COUNTIF(集計範囲,集計範囲)))
としておくとか・・・
なんとなくの雰囲気では、求めたい内容とは違いそうな気がしますけれど、動作しない式しか与えられていないため、エラーが出ないようにする程度しかできませんので、悪しからず。
ありがとうございます。
>SUMPRODUCT((範囲1=>日付1)*(範2=<日付2),(集計範囲,集計範囲))
>にすると合計計算できます。
上記は、コピーミスでした。
SUMPRODUCT((範囲1=>日付1)*(範2=<日付2),(集計範囲)で合計計算はできてます。
集計したいことは、毎日のデータリストから、一定期間(例:1/21~1/31)の商品の種類を求めたいのです。実際のデータには集計期間のリストは58件有り種類(求める数)は55種類ですが、
=SUMPRODUCT((範囲1=>日付1)*(範2=<日付2),1/COUNTIF(集計範囲,集計範囲))
にすると「5.641・・・」の結果でした。
また、=SUMPRODUCT((範囲1=>日付1)*(範2=<日付2),IF(集計範囲="",0,1/COUNTIF(集計範囲,集計範囲))) の場合は「#VALUE」になります。
集計期間ゃ集計範囲には空白が無い状態で(他システムからインポートして数値書式に変更)してあります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
つい集めてしまうものはなんですか?
人間誰もは1つ「やたらこればかり集めてしまう」というものがあるもの。 あなたにとって、つい集めてしまうものはなんですか?
-
これ何て呼びますか
あなたのお住いの地域で、これ、何て呼びますか?
-
【お題】引っかけ問題(締め切り10月27日(日)23時)
【大喜利】 「日本で一番高い山は富士山……ですが!」から始まった、それは当てられるわけ無いだろ!と思ったクイズの問題
-
昨日見た夢を教えて下さい
たまにすごいドラマチックな夢見ること、ありませんか? 起きてからも妙に記憶に残っているような、そんな夢。
-
ハマっている「お菓子」を教えて!
この世には、おいしいお菓子がありすぎて……。 次何を食べたらいいか迷っています。 みなさんが今、ハマっている「お菓子」を教えてください!
-
エクセル 時間帯の重複の有無
その他(Microsoft Office)
-
EXCELで条件に合致したデータから、さらに重複するデータを1と数える
その他(Microsoft Office)
-
Excel 重複を除いてデータ数をカウントする関数 (複数条件ありのケース)
Excel(エクセル)
-
-
4
2つの期間の重複する日数(月数)を計算するには?
Word(ワード)
-
5
複数時間情報の重複を求める
Visual Basic(VBA)
-
6
Excel関数で重複と空白を除いてデータの件数を求める方法
Excel(エクセル)
-
7
(エクセル関数)指定期間内で重複を除いて数え上げる方法
Excel(エクセル)
-
8
EXCEL 重複するデータを1としてカウントする方法
Excel(エクセル)
-
9
エクセル 重なる時間の計算方法
その他(ソフトウェア)
-
10
SUMPRODUCTに3つ以上の条件
Excel(エクセル)
-
11
時間帯の重複を除いた集計について
Excel(エクセル)
-
12
時間の重複チェック
Excel(エクセル)
-
13
日付を重複を除いてカウントしたいです
Excel(エクセル)
-
14
エクセルでの期間の重複について
Excel(エクセル)
-
15
vbaで重複期間の算出
Excel(エクセル)
-
16
ExcelのSUMPRODUCTで日付の範囲を指定する方法
その他(Microsoft Office)
-
17
エクセルで重複を除いた日付のカウント(条件付き)
その他(Microsoft Office)
-
18
期間重複チェックがわかりません
Visual Basic(VBA)
-
19
フィルターかけた後、重複を除いてカウントしたい。 すみませんアドバイスお願いします! 取引コード 販
Excel(エクセル)
-
20
重複や複数条件でのカウント教えて下さい。
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
excelVBAについて。
-
エクセルの関数ついて
-
【マクロ】メッセージボックス...
-
エクセル初心者です 用語とか良...
-
Excelの警告について
-
excelVBAについて。
-
最新I/e?のキャッシュクリア
-
フィルター時の、別の列に書い...
-
フィルターをかけた時の、別の...
-
エクセル 別セルの2進数表示を...
-
エクセルシート保護を解除させ...
-
Excelの数式について教えてくだ...
-
excelVBAについて。
-
excelVBAについて。
-
条件付き書式の効率的な設定の...
-
編集者ってパソコンスキルどの...
-
IF 日付範囲に入っていたら
-
Excelの数式について教えてくだ...
-
カーソルを合わせてる時のみ行...
-
今までは、 「CSVの出力先を選...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelの警告について
-
エクセルの数式バーのフォント...
-
【Excel】日付に連動してプルダ...
-
【再投稿】レイアウトが異なる...
-
Excelについて教えてください ...
-
同率順位の発生しないランキン...
-
エクセルマクロについて教えて...
-
【Excel VBA】 テキストファイ...
-
Excel 標準フォントについて教...
-
Excelの計算で差分を求める場合...
-
Excelの区切り文字について質問...
-
大容量があつかえるソフトを探...
-
エクセルの計算式について(COU...
-
エクセルについて
-
今までは、 「CSVの出力先を選...
-
Excel ショートカットで列、行...
-
8:40までの出勤は全て8:30に...
-
if関数。半角文字や全角文字で...
-
エクセルの関数
-
毎週追加して行くセルの数値を...
おすすめ情報