我正在尝试让GETPIVOTDATA在使用日期时正常工作。我在这里看了很多关于GETPIVOTDATA的问题,但没有一个在引用中使用日期。
我可以创建一个包含以下数据的数据透视表,并提取给定分区和细分的总数。但即使我的代码在MS Excel中运行,我也无法破解代码来处理Google桌面版GETPIVOTDATA中的日期。
此数据来自googledocs支持页面:https://support.google.com/docs/answer/6167538?hl=en
划分细分产品编号单位数每单位日期价格
东1 1 14 3/1/2018 $ 10
东2 1 15 3/1/2018 $ 11
west 1 1 11 3/3/2018 $ 10
west 2 1 21 3/4/2018 $ 9
东3 1 16 3/1/2018 $ 8
west 3 1 18 3/6/2018 $ 12
east 4 1 11 3/7/2018 $ 9
东1 2 10 3/1/2018 $ 9
东2 2 9 3/9/2018 $ 13
west 1 2 12 3/10/2018 $ 10
west 2 2 15 3/1/2018 $ 10
东3 2 12 3/12/2018 $ 9
west 3 2 16 3/1/2018 $ 12
东4 2 12 3/14/2018 $ 9
数据透视表锚定在H1中,列出的列是 除法,细分,日期,单位数的和 分别在单元格H1,I1,J1,K1中
23 =GETPIVOTDATA(K1,H1,"division", "east", "subdivision", 4)
#REF! =GETPIVOTDATA(K1,H1,"division", "east", "subdivision", 4, "Date", datevalue("2018-3-07"))
#REF! =GETPIVOTDATA(K1,H1,"division", "east", "subdivision", 4, "Date", DATE(2018, 3, 7))
它应该返回" 11"这是东,4和3/7的交叉点
#REF错误返回"在数据透视表中找不到字段组合,用于函数GETPIVOTDATA"即使看起来所有的字段都列出来了。正如您所看到的,如果我使用两个除法和细分,我可以得到我的汇总值,但是当我添加Date字段时则不能。我尝试了多种方法来匹配pivottable中的日期值。
我很慌张。我在这里错过了什么傻事?在建议之前,请检查您的答案是否真的适用于GoogleSheets :) 谢谢!
答案 0 :(得分:1)
我知道我来晚了,但是这也困扰着我,我无法弄清。
我终于意识到GETPIVOTDATA
方法使用了总计行,如果没有正确的总计,则会抛出错误。
希望这可以帮助像我一样找到它的人。
答案 1 :(得分:0)
事实证明,日期参数(pivot_item
)的值参数(技术上是original_column
参数)必须是与日期格式匹配的 text >因为它是在数据透视表的源中(即在数据中)格式化的。
因此,如果在原始数据中将日期项目的格式设置为3/7/2018
,则无论您如何在数据透视表中设置日期格式,有效的公式都是:
=GETPIVOTDATA(K1,H1,"division", "east", "subdivision", 4, "Date", "3/7/2018")
如果在数据中,随后会再次出现相同的值,但是格式不同,例如3/7
(无年份),据我所知,该值的首次出现将用作参考格式。因此,假设第一个3/7/2018
数据点是这样格式化的,则上面的公式将捕获所有3/7/2018
数据*。
如果数据中的另一个日期的格式设置为3/8 Thu
(第一次出现),则该文本需要在公式的“数据透视表”项中使用。
Google对“数据透视项目”的定义是:
pivot_item…-[可选]可重复
行或列的名称 显示在与 original_column 相对应的数据透视表中 要检索。
它表示行或列的 名称 。也许他们对此非常直白,但考虑到此功能是从Excel借来的,并且Excel使用 value 而不依赖其格式,因此很可能不是这样。
*取决于其他枢轴列/项目(分区和细分)
答案 2 :(得分:0)
结合bsoo和Amos47的答案为我解决了这个问题。
使用日期,我发现使用ISO 8601格式“ yyyymmdd”或月份的文本版本“ dd-mmm-yy”有助于避免在美国和欧洲格式之间切换时出错。