【问题标题】:Excel VBA Lookup MethodsExcel VBA 查找方法
【发布时间】:2013-08-06 23:30:05
【问题描述】:

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

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

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

我当前的解决方法是为每天的数据创建一个新表,或者不使用我的VLookup=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

【问题讨论】:

  • 它可以是一个唯一值,但并不总是...例如,“1009”的客户 ID 可以在同一 ID 下的 1 号和 15 号执行某项操作
  • 我知道,这是一个棘手的情况。我将在几个小时内发布一本示例书,工作即将结束,这样我就可以创建一个模型版本。上线后我会发布的。

标签: excel-2007 excel indexing excel-2007 match vlookup


【解决方案1】:

这可能无法以您喜欢的格式为您提供结果,并且仍然需要一些手动工作,但是如果不走宏的路线,我认为这会让您更近一步。我想过使用数组公式来获取特定日期的所有 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 的列表。然后,您还可以为每张纸复制此内容,并更改公式中的日期...是的,我知道,这比您可能想要的要复杂得多,但这是我想出的!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-08-06
    • 2017-05-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-22
    • 2011-08-21
    相关资源
    最近更新 更多