Excel 2010 - 仅在小计单元格中计算唯一值
Posted
技术标签:
【中文标题】Excel 2010 - 仅在小计单元格中计算唯一值【英文标题】:Excel 2010 - Count Unique values only in a SUBTOTAL cell 【发布时间】:2014-01-02 12:42:12 【问题描述】:信息: Excel 2010(无宏)数据来源: mysql Query / phpMyAdmin 服务器: Apache代码通过以下方式运行: 服务器 SQL 查询(在 phpMyAdmin 中复制和粘贴)或在 MySQL Workbench 中或使用自定义购物车管理器。导出到: Excel (.csv)然后到 .xlsx 获取销售报告)注意:工作簿使用我的查询以及其他数据
问题
我有 2 个公式。 1 有效,1 接近但最终错误。
1) 获取唯一 OrderID 的总数(在我的情况下为 2342 个),但是当我过滤我的数据时它不会减少到“SUBTOTAL”。=SUMPRODUCT((A8:A30001<>"")/COUNTIF(A8:A30001,A8:A30001&""))
=SUM(IF(FREQUENCY(IF(LEN(A8:A10001)>0,MATCH(A8:A10001,A8:A10001,0),""), IF(LEN(A8:A10001)>0,MATCH(A8:A10001,A8:A10001,0),""))>0,1))
(SHIFT+CTRL+ENTER)
2) 返回为 SUBTOTAL
但计数超出 1(返回 8,而不是 7):=SUM(IF(FREQUENCY(IF(SUBTOTAL(3,OFFSET(A7,ROW(A7:A10000)-ROW(A7),,1)), IF(A7:A10000<>"",MATCH("~"&A7:A10000,A7:A10000&"",0))),ROW(A7:A10000)-ROW(A7)+1),1))
(SHIFT+CTRL+ENTER)
=SUM(--(FREQUENCY(IF(SUBTOTAL(3, OFFSET(A7:A10000, MATCH(ROW(A7:A10000), ROW(A7:A10000))-1, 0, 1)), COUNTIF(A7:A10000, "<"&A7:A10000), ""), COUNTIF(A7:A10000, "<"&A7:A10000))>0))
(SHIFT+CTRL+ENTER)
数据 这已被过滤:订单月份,产品 ID = 7 件
OrdID ProdName Qty
2525 test 1
2538 test 1
2553 test 1
2555 test 1
2556 test 1
2564 test 1
2566 test 1
提前感谢您的洞察力。
【问题讨论】:
【参考方案1】:我希望2)
中的公式可以正常工作,您确定结果的差异不是由不同的范围引起的吗?您的第一个公式从第 8 行开始,第二个从第 7 行开始?您是否在数据中包含标题行,因此结果为 8 而不是 7?
如果 A 列中的订单 ID 是数字,那么这个版本也应该可以工作
=SUM(IF(FREQUENCY(IF(SUBTOTAL(3,OFFSET(A7,ROW(A7:A10000)-ROW(A7),,1)),A7:A10000),A7:A10000),1))
【讨论】:
所以我觉得自己像一只毛绒火鸡。我一直盯着 EXCEL & SQL 超过 12 个小时,我什至没有看到!非常感谢您,并选择了您提供的formula
作为示例! (我想我需要睡觉了!哈哈)谢谢你,祝你有美好的一天!以上是关于Excel 2010 - 仅在小计单元格中计算唯一值的主要内容,如果未能解决你的问题,请参考以下文章