0

我有一个一直在摸索的问题;我已经研究了Index:Match查找方法和V/HLookup,但我不确定这些是否会有所帮助。这是正在发生的事情:

我在中有两个工作表。一个有一个客户 ID 列(在客户在一个月内多次执行“x 活动”的情况下确实并且将有重复的 ID),然后在另一列中发生这种情况的日期。第二张表用于概述特定日期,即 13 年 7 月 1 日发生的事情。

问题是我的原始数据表是按月份的第一天降序排序的,所以是 7-1,7-2 等,当我运行时Vlookup,如果客户 ID 在 7-2 和 7- 上有记录15、VLookup将仅从 7-2(第一)行中提取数据。有没有人经历过这种情况并找到解决方法?

我目前的解决方法是为每天的数据创建一个新表,或者不使用 my VLookupof=Vlookup(A2, 'Data Sheet' A:D, 4, 0)来提供列行号,例如=Vlookup(A2, 'Data Sheet' A$1:D$30, 4, 0). 这是一份每日报告,而且会很紧张。如果可以的话请帮忙!

(另一个附注,我有一张用于视图的主表,一张收集所有数据的数据表,然后是 30 张,每个月的每一天一张,本例是 7 月)。对于每张工作表,我已将它们命名为当月的某一天,因此我将数据反映为:

Sheets("7-1-13") 有第一天的数据。完整的数据表包含从 7-1-13 到 7-31-13 的数据。我只需要将 1 日的 ID 引用到 1 日和 1 日的数据。

我想使用这样的东西,但我很难用它

=Vlookup(A2, 'Data Sheet', A:D (ONLY IF THE CREATE DATE OF THIS ITEM IS 7-1), 4,0)`

但当然这并不容易:p

4

1 回答 1

0

这可能不会以您喜欢的格式为您提供结果,并且仍然需要一些手动工作,但是如果不走宏的路线,我认为这会让您更近一步。我想过使用数组公式来获取特定日期的所有 ID。

例子:

        A    B
       ID   Date
1      5    7/1/2013
2      2    7/2/2013
3      5    7/3/2013

在这种情况下,我假设您希望第一行中的 5 个出现在 7/1 表上,2 个出现在 7/2 表上,第三行中的 5 个出现在 7/3 表上

在你的 7/1 表上。您需要选择与原始数据匹配的空白行数(使用上面的示例,您将在 7/1 工作表上选择 A1:A3)。选择单元格后,在公式栏中输入以下公式,然后按 Ctrl+Shift+Enter。这就是使公式成为数组公式的原因。

=((Raw_DataSheet!B1:B3=DATE(2013,7,1))*1)*Raw_DataSheet!A1:A3

这个公式的作用是查看 B1:B3 中的所有日期并找到等于 2013 年 7 月 1 日的日期。由于您使用的是数组公式,因此这将为您提供数组 {TRUE,FALSE,FALSE}。将此乘以 1,得到数组 {1,0,0}。您现在有一个数组,其中 B1:B3 的每一行都有一个 1,等于 2013 年 7 月 1 日。然后将此数组 {1,0,0} 乘以您的客户 ID {5,2,5}

5 * 1  =  5
2 * 0  =  0
5 * 0  =  0

所以现在你的整个公式等于数组 {5,0,0}。由于您在 7/1 表上选择了 A1:A3,因此应该出现的值应该是

        A 
       ID 
1      5 
2      0 
3      0

从这里,您始终可以过滤掉 0,您只需从原始数据表中获得日期为 7/1 的所有 ID 的列表。然后,您还可以为每张纸复制此内容,并更改公式中的日期...是的,我知道,比您可能想要的要复杂得多,但这就是我想出的!

于 2013-08-08T05:32:12.647 回答