Excel 2010 – 仅在SUBTOTAL单元格中计算唯一值

信息: Excel 2010(无macros)
数据统计: MySQL Query / phpMyAdmin 服务器: Apache
代码通过以下方式运行:服务器SQL查询(复制并粘贴到phpMyAdmin中)或MySQL Workbench中或使用自定义的购物车pipe理器。
导出到: Excel(.csv,然后是销售报告的.xlsx)
注意:工作簿使用我的查询以及其他数据


我有2个公式。 1是有效的,1是接近但最终是错误的。
1)获取唯一OrderID的总数(在我的情况下是2342),但是当我过滤我的数据时,它不会减less到“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 

提前感谢您的洞察力。

我期望2)公式能够正常工作,你确定结果的差异不是由不同的范围引起的 – 你的第一个公式从第8行开始,第2个公式从第7行开始? 你是否在数据中包含标题行,结果是8而不是7?

如果A列中的订单ID是数字,那么这个版本也应该工作

=SUM(IF(FREQUENCY(IF(SUBTOTAL(3,OFFSET(A7,ROW(A7:A10000)-ROW(A7),,1)),A7:A10000),A7:A10000),1))