根据 'looked up' 单元格的原始位置查找相邻单元格值,同时处理重复值
Find adjacent cell values based on 'looked up' cells' original position whilst dealing with duplicate values
我目前遇到了一个 excel 问题,我似乎找不到答案。
采用以下示例数据集:
A B C D E F G
Date Color Lookup Adjacent value
1-1-2017 Green 3-5-2018
3-5-2018 Yellow 4-7-2018
4-7-2018 Green 9-9-2018
1-2-2016 Purple 3-5-2018
6-9-2014 Red
9-9-2018 Green
3-5-2018 Blue
A 列和 B 列中的值是硬编码的。
已使用以下公式检索 F 列中的值,'filters' 主要数据基于 2018 年 1 月 1 日至 2020 年 12 月 31 日之间的日期(在我的真实数据集中,A 列和 B 列将与查找值和所需的相邻值不同 sheet):
=IFERROR(INDEX($A:$A;AGGREGATE(15;6;ROW($A:$A)/(($A:$A>=DATE(2018;1;1))*($A:$A<=DATE(2021;1;1)));ROW($A1)));"")
我现在需要找到一种方法,根据 F 列中的查找值从 B 列中检索相邻的单元格值(例如颜色),并将它们放在 G 列中。数据集应如下所示:
A B C D E F G
Date Color Lookup Adjacent value
1-1-2017 Green 3-5-2018 Yellow
3-5-2018 Yellow 4-7-2018 Green
4-7-2018 Green 9-9-2018 Green
1-2-2016 Purple 3-5-2018 Blue
6-9-2014 Red
9-9-2018 Green
3-5-2018 Blue
序列保持完整很重要;尽管 A 列包含 3-5-2018 的副本,但由于颜色不同,它们并不相同。
我的主要问题:如何将正确的颜色附加到正确的查找日期值?
非常感谢任何帮助!
亲切的问候,
VHes
首先您需要将索引函数数组从$A:$A
更改为$B:$B
。试试下面的公式。
=IFERROR(INDEX($B:$B,AGGREGATE(15,6,(ROW($A:$A)-ROW($A))/($A:$A=F2),COUNTIF($F:$F2,F2))),"")
这就是函数VLookup
被发明出来的确切原因,让我们看一下下面的公式(在单元格G2中输入):
=VLookup(F2;$A:$B;2;FALSE)
此函数查找:
- F2 :我们首先查找日期“3-05-2018”
- $A$1:$B$8 :我们正在寻找 A1:B8 范围内的值,原因:
- 我们要查找的值出现在该范围的第一列(A 列)
- 我们想要 return 的值也出现在该范围内(B 列)
- 我们必须保持该范围不变:当我们将该公式拖到下一行时,它可能不会变成“A2:B9”,因此我们必须使用“$A$1:$B$8”
- 2 : 我们正在寻找第二列的值
- FALSE:我们正在寻找完全匹配,而不是近似匹配。
如有疑问,请随时提问。
我目前遇到了一个 excel 问题,我似乎找不到答案。
采用以下示例数据集:
A B C D E F G
Date Color Lookup Adjacent value
1-1-2017 Green 3-5-2018
3-5-2018 Yellow 4-7-2018
4-7-2018 Green 9-9-2018
1-2-2016 Purple 3-5-2018
6-9-2014 Red
9-9-2018 Green
3-5-2018 Blue
A 列和 B 列中的值是硬编码的。
已使用以下公式检索 F 列中的值,'filters' 主要数据基于 2018 年 1 月 1 日至 2020 年 12 月 31 日之间的日期(在我的真实数据集中,A 列和 B 列将与查找值和所需的相邻值不同 sheet):
=IFERROR(INDEX($A:$A;AGGREGATE(15;6;ROW($A:$A)/(($A:$A>=DATE(2018;1;1))*($A:$A<=DATE(2021;1;1)));ROW($A1)));"")
我现在需要找到一种方法,根据 F 列中的查找值从 B 列中检索相邻的单元格值(例如颜色),并将它们放在 G 列中。数据集应如下所示:
A B C D E F G
Date Color Lookup Adjacent value
1-1-2017 Green 3-5-2018 Yellow
3-5-2018 Yellow 4-7-2018 Green
4-7-2018 Green 9-9-2018 Green
1-2-2016 Purple 3-5-2018 Blue
6-9-2014 Red
9-9-2018 Green
3-5-2018 Blue
序列保持完整很重要;尽管 A 列包含 3-5-2018 的副本,但由于颜色不同,它们并不相同。
我的主要问题:如何将正确的颜色附加到正确的查找日期值?
非常感谢任何帮助!
亲切的问候,
VHes
首先您需要将索引函数数组从$A:$A
更改为$B:$B
。试试下面的公式。
=IFERROR(INDEX($B:$B,AGGREGATE(15,6,(ROW($A:$A)-ROW($A))/($A:$A=F2),COUNTIF($F:$F2,F2))),"")
这就是函数VLookup
被发明出来的确切原因,让我们看一下下面的公式(在单元格G2中输入):
=VLookup(F2;$A:$B;2;FALSE)
此函数查找:
- F2 :我们首先查找日期“3-05-2018”
- $A$1:$B$8 :我们正在寻找 A1:B8 范围内的值,原因:
- 我们要查找的值出现在该范围的第一列(A 列)
- 我们想要 return 的值也出现在该范围内(B 列)
- 我们必须保持该范围不变:当我们将该公式拖到下一行时,它可能不会变成“A2:B9”,因此我们必须使用“$A$1:$B$8”
- 2 : 我们正在寻找第二列的值
- FALSE:我们正在寻找完全匹配,而不是近似匹配。
如有疑问,请随时提问。