信息: Excel 2010(无宏)
数据设定: MySQL查询/ 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
提前感谢您的见解。
答案 0 :(得分:4)
我希望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))