Excel中的数据任务

时间:2016-02-16 19:56:07

标签: excel ms-access

我在Excel中拥有庞大的数据集(千条记录行)(列数 - 列数,客户数,支出数)。我必须找到那些在每个月内至少花费100美元的客户。

有没有快速解决方案?我试过数据透视表,但没有成功。也许我应该将数据集上传到Access然后运行查询?有什么想法吗?

Example

3 个答案:

答案 0 :(得分:0)

我原以为你可以用行作为客户,列为月,价值为支出总和。从此处,在末尾添加一个正常的列公式,其中包含客户每月支出列的MIN(确保引用只是单元格地址,而不是GETPIVOTDATA引用)。由于值中有空白,您可能需要使用MIN的数组版本(例如=MIN(--(B2:M2))并使用Ctrl + Shift + Enter而不是Enter输入)。过滤你的MIN超出你的限制可以让你的客户。

如果您不得不经常这样做,访问可能会更容易。

答案 1 :(得分:0)

在数据透视表中使用辅助列。

D2的公式= =IF(SUMIFS($C$2:$C$19,$B$2:$B$19,B2,$A$2:$A$19,A2)>100,"Y","")

enter image description here

访问查询是一个不错的选择,但有时只需一次性需要它就可以完成。

答案 2 :(得分:0)

这是我认为你想要的另一个解决方案。

假设您的客户名称在C列中,并且他们花费的金额在D中。您可以使用数组公式(使用 CTRL + SHIFT + ENTER 输入)将返回名称列表支出超过100美元:

=IFERROR(INDEX(C$1:C$4,SMALL(IF(D$1:D$4>100,ROW(C$1:C$4)-ROW(C$1)+1),ROWS(C$1:C1))),"")

enter image description here

只需根据需要调整范围,输入A1(作为数组)并向下拖动。

您可以使用对“数据工作簿”的引用将此公式放在新工作簿中,然后它将保留那些花费超过100的用户的填充列表。