Excel VLOOKUP 在表数组中具有多个可能的选项

标签 excel excel-formula vba

我有两个列表,第一个是一组用户。第二个列表包含这些用户的不同遭遇日期。

我需要确定“续订日期”[C 列] 10 天内的日期,但不能早于该日期。对于成员 1,这将是 2017 年 1 月 8 日第 3 行。对于成员 2,这将是第 6 行,2017 年 1 月 21 日。

现在使用 VLOOKUP,在我之前管理此电子表格的用户显然不可行,因为它只是获取具有匹配成员(member) ID 的第一个日期。有没有办法在 Excel 中做到这一点?

我提供了示例文件的链接和示例数据的屏幕截图。

https://drive.google.com/file/d/0B5kjsJZFrUgFcUFTNFBzQzN4cm8/view?usp=sharing

Example Excel Spreadsheet

最佳答案

为了避免数组公式的缓慢和复杂,您可以尝试使用 SUMIFS 但问题是,如果您有多个匹配项,它会将它们相加,而不是返回第一个匹配项。总和看起来像是一个畸变。但是,如果您保证数据中只有一个匹配项,则可以使用。

另一种方法是使用AVERAGEIFS,如果有多个匹配项,它会给出它们的平均值,并且看起来像是有效的日期和良好的结果。在 D2 中输入此公式并填写该列:

D2:
=AVERAGEIFS(G:G,F:F,A2,G:G,">="&C2,G:G,"<="&C2+10)

并且不要忘记将 D 列的格式设置为 Date

关于Excel VLOOKUP 在表数组中具有多个可能的选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45002916/

相关文章:

vba - Excel - 根据值锁定单元格范围

excel - 将零添加到 csv 文件中的邮政编码?

excel - 如何在excel中用字符求和

vba - 错误 GoTo 仅工作一次用于分析输入框值

vba - VBA 代码中的参数数量错误或无效的属性分配错误

css - 未能找到 Selenium 识别的该字段的元素

vba - 错误 16 : Expression Too Complex - Nested Select Case

Excel求差值和的公式

excel - 重用 Excel VBA 而不导入它

javascript - 根据下拉菜单中的选择执行公式/计算?