我尝试了几个公式;这一个我实际上得到了结果,但16822个公式中只有1227个。我不会期望有100%的匹配,但肯定比我得到的要多得多。我认为原因是因为此公式查找的是特定日期,而不是日期范围:
=XLOOKUP(Z2&N2,'PLRB Wind'!$I$2:$I$78525&'PLRB Wind'!$D$2:$D$78525,'PLRB Wind'!$M$2:$M$78525,"")
![如何将Excel多个表格数据进行合并统计分析](https://p.xsw88.cn/allimgs/daicuo/20230903/3027.png)
我还尝试了索引匹配(这只是公式的匹配部分)
=MATCH(1,IF('PLRB Wind'!D2>=$B$2:$B$16823,IF('PLRB Wind'!D2<='Wind Claims'!$C$2:$C$16823,IF('PLRB Wind'!I2='Wind Claims'!$Z$2:$Z$16823,1))),0)
提前感谢您看这篇文章。感谢您能提供的任何帮助!
推荐答案
我会为此使用POWER查询。你知道什么是强大的查询吗?当我发现这一点时,我很不高兴,因为我以前本可以使用它的所有有用的方式。
不过,你可能会有不同的感受。为此创建工作簿的新副本,以防您讨厌它。:-)在Excel的数据功能区的获取转换部分,有一个来自表格的按钮(&A)。突出显示您的PLRB表(包括列标题),然后单击从表中创建新查询按钮。它将创建表和查询。
将弹出一个POWER查询编辑器窗口,将您的查询显示为两个步骤,列在右侧边栏的中间。第一步是从您的工作表中获取信息。第二步更改数据类型。单击每个日期列标题左侧的图标,将类型从DateTime更改为Date,因为原因不是这样。在右侧边栏上,将查询名称更改为PLRB
。
现在,单击主页功能区上的关闭&;加载(&p>)。它将创建一个包含您的表结果的新选项卡。先别管它了。您可以稍后删除该选项卡,但它不会删除查询。
因此,回到您的工作表,突出显示WIND Claims表的前三列的列标题行和数据行。从表创建另一个查询。称之为WindClaimsInput
。再次将DateTime列更正为Date Columns
好的,现在您有两个查询。它们都是从您的工作簿读取的,但它们可能来自另一个文件或文本文件等。如果您喜欢此解决方案,则您的最终表单可能是一个工作表,其中实际上没有任何源数据,只是从其他地方获取原始数据的查询,以及显示我们即将进行的第三个查询的选项卡。
现在是有趣的部分。
仍在POWER查询编辑器中编辑WindClaimsInput
查询时,在&Home";功能区的左侧边缘附近有一个名为&Manage...";的按钮。单击它,然后单击引用以创建从旧查询开始的第三个查询。请记住,查询只是指令。在运行查询之前,我们不会复制数据。
现在,找到添加列的按钮。它应该会打开一个询问列名和公式的对话框。将其命名为";plrb";并使用以下公式:Table.SelectRows(PLRB, (r) => (r[Date] >= [CATFromDt] and r[Date] <= [CATThruDt] and r[ZipCode] = [ClaimZip]))
Table.SelectRow是一个带有两个参数的幂查询函数:
现在您有了一个表,其中最后一列是另一个表!具体地说,PLRB中与该Wind索赔行相关的行。您可以单击最后一列中的任何单元格来查看子表。
在最后一列标题的右侧将显示一个小的展开图标。点击它,选择按最大风速聚合。(风速选项的右侧允许您将其更改为最大值、平均值或您喜欢的任何值。)取消单击使用原始列名作为前缀(&Q)。点击OK(确定)。别担心,您可以删除此新步骤,如果我没有很好地描述它,请重试。 点击关闭并加载以在工作簿中查看(&P>关闭)。如果看起来是对的,那就太好了!否则,请随时返回并编辑更多内容。现在您完成了!与公式不同,它不会自动刷新,但当您要根据输入表刷新输出时,您可以刷新该查询,或者在数据功能区中,您可以单击";全部刷新(&p>)。
在Excel的数据功能区的&Get&;Transform";部分,有一个&Show Queries";按钮,用于切换显示您所做查询的侧边栏。您可能只想继续加载第三个查询,因此可以将其他两个查询的加载更改为...仅连接。
抱歉,我现在无法进行屏幕截图。
相关推荐
最新文章