[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『日ごとのデータから月ごとのデータへの抽出』(panda)
ファイル@1に日ごとのデータがあり、ひと月のうち計測した日にのみ数値が入っています。その他の日は#N/Aが入っています。
A B C D
1 日付 地点1 地点2 地点3 ・・・
2 4/1 #N/A #N/A #N/A ・・・
3 4/2 #N/A #N/A #N/A ・・・
4 4/3 2.0 3.0 - ・・・
5 4/4 #N/A #N/A #N/A ・・・
6 4/5 #N/A #N/A #N/A ・・・
・ ・ ・ ・ ・
・ ・ ・ ・ ・
・ ・ ・ ・ ・
ファイル@2に月ごとのデータとして抽出したいので、
A B C D
1 月 地点1 地点2
2 4/1 4/30
3 5/1 5/31
4 6/1 6/30
5 7/1 7/31
6 8/1 8/31
・ ・ ・
・ ・ ・
・ ・ ・
ファイル@2のC2セルに
=sum((@1!$A$2:$A:$5000>=$A2)*(@1!$A$2:$A:$5000<=$B2)*IFERROR(INDEX(@1!$B$2:$Z$5000,0,MATCH(C$1,@1!$B$2:$Z$2,0)),0))
という式を入れ、C列はうまくいったのですが、D列は「-」が入っている為エラーになってしまいました。
ここまででも色々調べた上でたどり着いたので、手詰まりになってしまいました。
アドバイスよろしくお願いいたします。
< 使用 Excel:Office365、使用 OS:Windows10 >
何が手詰まりなのか不明ですが。
一応置き換えてみた結果、=ISNA(A1)でTrueになりました。
(置き換え) 2022/10/27(木) 15:02:34
(panda) 2022/10/27(木) 15:09:39
こんにちは
そのエラー以外を条件に指定したらどうでしょうか?
"<>#N/A" イメージを入れるってことです。 とか...IFERROR の位置を変更するとか
↓この辺が参考になるかもです。
参考 : エラー以外で合計する(SUM関数がエラーになる時) https://spread-sheets.com/leverage/sum_exclusion_error/#:~:text=1.%20%E5%90%88%E8%A8%88%E5%80%A4%E3%82%92%E8%A1%A8%E7%A4%BA,%E3%82%BB%E3%83%AB%E3%82%92%E9%81%B8%E6%8A%9E%E3%81%97%E3%81%BE%E3%81%99%E3%80%82&text=2.%20%3DSUMIF(A1%3A,%22)%20%E3%81%A8%E5%85%A5%E5%8A%9B%E3%81%97%E3%81%BE%E3%81%99%E3%80%82&text=%E6%9D%A1%E4%BB%B6%E3%81%AB%E6%8C%87%E5%AE%9A%E3%81%97%E3%81%9F%E3%80%8C%3E0,%E3%81%99%E3%82%8B%E3%81%93%E3%81%A8%E3%81%8C%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%99%E3%80%82
(あみな) 2022/10/27(木) 15:44:20
ああ、文字化けしてましたか。
-を #N/A に置き換えておけば良いんでない?
半角スペース無しに頭に-をつけると表示されないんですね。
#N/Aで駄目なら、普通に消すとか?
(置き換え) 2022/10/27(木) 16:06:01
エラー値を無視するといえば、AGGREGATE関数が思いつくわけですがいかがでしょう あと、FILTER関数も使えるかも (´・ω・`) 2022/10/27(木) 16:21:55
地点1,地点2,地点3…等をMATCHでしないでもできそうな気がするのだが
C2セルの式=SUMIFS('@1'!B$2:B$5000,'@1'!$A$2:$A$5000,">="&$A2,'@1'!$A$2:$A$5000,"<="&$B2,'@1'!B$2:B$5000,"<>#N/A")
こんなんだとどうなるでしょうか?
(あみな) 2022/10/27(木) 16:36:37
(panda) 2022/11/02(水) 10:47:03
すみません AGGREGATE関数で、集計方法がSUMの場合、配列ではだめのようですね (´・ω・`) 2022/11/02(水) 11:48:53
>#N/Aが入っています。 そこには数式が入っているんですか。 何故エラー表示をしておくのでしょうか。 (???) 2022/11/02(水) 14:48:39
>Office365 Let関数が使えるならば、
C2セル =LET(r,XLOOKUP(C$1,'1'!$B$2:$Z$2,'1'!$B$3:$Z$5000,""),d,'1'!$A$3:$A$5000,SUMIFS(r,r,">-10e15",d,">="&$A2,d,"<="&$B2))
(半平太) 2022/11/02(水) 16:43:32
他の仕事の合間に調べながら進めているもので、お返事が遅れ大変失礼いたしました。
教えていただいた式でできました!!!
let関数は使ったことがなかったので、調べて、実際使用してみて、感覚がつかめました。
おかげさまで解決いたしました。
ありがとうございます。
(panda) 2022/11/08(火) 10:07:57
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.