Excel 检查列的其余部分是否存在文本,如果存在,请使用该行中的信息
我正在寻找一种方法来检查我正在输入文本的另一个单元格,并让它查看该文本值是否与列中的其他任何位置相同,如果是,它将获取与自身在同一列但在检查文本行中的数字值 所以,若你们使用图片,你们可以看到我目前已经选择了E7。我希望它检查“GOLF COURSE”列中是否有任何其他行包含与它自己的行中相同的文本。这就是“课程1”。我想让它检查一下B列的其余部分是否有与B3中的“Course1”匹配的内容。如果匹配,我希望它使用与(E)相同列中的值,但与B列中匹配文本的行相同。在这种情况下,我希望它复制E3中的值。 如果没有匹配项(比如说,这是一门新课程),那么我需要能够点击单元格并输入所需的数字,我无论如何都可以这样做,但只是为了获取信息而把它扔进去Excel 检查列的其余部分是否存在文本,如果存在,请使用该行中的信息,excel,excel-formula,Excel,Excel Formula,我正在寻找一种方法来检查我正在输入文本的另一个单元格,并让它查看该文本值是否与列中的其他任何位置相同,如果是,它将获取与自身在同一列但在检查文本行中的数字值 所以,若你们使用图片,你们可以看到我目前已经选择了E7。我希望它检查“GOLF COURSE”列中是否有任何其他行包含与它自己的行中相同的文本。这就是“课程1”。我想让它检查一下B列的其余部分是否有与B3中的“Course1”匹配的内容。如果匹配,我希望它使用与(E)相同列中的值,但与B列中匹配文本的行相同。在这种情况下,我希望它复制E3
我尝试过各种各样的谷歌搜索,并在想我怎么可能做到这一点,但这对我的业余Excel知识来说太难了 我相信您正在寻找
索引
/匹配
:
=IF(COUNTIF($B:$B,$B7)>1,INDEX(E:E,MATCH($B7,$B:$B,0)),"New")
我添加了一个COUNTIF
检查,以确保同一课程在B列中存在不止一次,如果没有它,您将得到一个循环参考公式(如果相同的过程出现一次以上,也会发生上述公式,但在该课程的第一次出现时使用此公式,因此,在第一次填写特定课程的PAR分数时,请不要使用它)。合并索引/匹配的单元。
公式
将以下公式复制到单元格E7
:
=IF(AND($B7<>"",$D7="Par"),IF(ISERROR(MATCH($B7,$B$3:$B5,0)),"Par",INDEX(E$3:E5,MATCH($B7,$B$3:$B5,0))),IF(AND($B6<>"",$D7="Strokes"),IF(ISERROR(MATCH($B6,$B$3:$B4,0)),"Strokes",INDEX(E$3:E4,MATCH($B6,$B$3:$B4,0)+1)),""))
将返回1,即找到B7
的精确(0
)匹配项
在范围B3:B5
的1st单元格中
1
(E3
),而是要单元格中的值(5
)INDEX
函数有两个语法,我们将使用第二个:
语法2:索引(参考,行数,列数,区域数)
由于我们使用的是一列范围,我们可以安全地省略参数row_num
和column_num
,这给我们留下了:
修改语法:索引(参考,区域编号)
- 以这种方式使用的
函数将返回INDEX
-th值 例如,在我们的例子中,如果area_num
区域数
为
,它将返回1
列范围中的值,如果它是1st
,则是2
,以此类推2nd
- 第一个参数
将与我们的reference
列MATCH
中的范围:E
我们将在此处删除 列锁定,因为我们还希望返回其他列的结果 列:$E$3:$E5
E$3:E5
- 第二个参数
将是我们的area_num
公式MATCH
- 我们当前的公式如下所示:
它将返回单元格=INDEX(E$3:E5,MATCH($B7,$B$3:$B5,0))
:E3
的值5
如果
,和
以及iError
如果列B
中的单元格没有合并,这几乎就是(错误检查)。因此,我们必须使用if
来确定我们编写公式的行是否包含Par
或笔划
,并针对这两种情况调整我们迄今为止创建的公式:
=IF($D7="Par",INDEX(E$3:E5,MATCH($B7,$B$3:$B5,0))
=IF($D7="Strokes",INDEX(E$3:E4,MATCH($B6,$B$3:$B4,0)+1)
=IF($D7="Par",INDEX(E$3:E5,MATCH($B7,$B$3:$B5,0)),$D7="Strokes",INDEX(E$3:E4,MATCH($B6,$B$3:$B4,0)+1))
(第三个条件)使用
和,检查B列中是否有一个值,我们正在为包含Par
的行创建公式,或者为包含笔划的行创建上面的行:
=IF(AND($B7<>"",$D7="Par"),INDEX(E$3:E5,MATCH($B7,$B$3:$B5,0)),IF(AND($B6<>"",$D7="Strokes"),INDEX(E$3:E4,MATCH($B6,$B$3:$B4,0)+1),""))
现在我们准备把公式复制到我们所需要的右边和下方。你是圣人!我可以吻你!谢谢你这么多完美的工作。嗯,注意到你在这里加了答案,想说OP可能不需要公式来填充笔画,因为那些将被更新。NS对于每个球场和每个洞都是一样的,而笔触会随着玩家的动作而变化。我认为OP想要跟踪玩家的游戏进度,并且不想手动填充PAR信息,如果它以前已经输入过一次。@杰瑞:我们可以说高尔夫不是我的强项,但我能从某种程度上推断出这一点吗?考虑到我的第一句话,我的问题是什么?最后,我应该删除这篇文章吗?哦,不,我无意告诉你是否删除这篇文章(如果是这样的话,我很抱歉),因为它可能在不同的环境中有用,因此它不仅适用于所问的问题,而且适用于一般人可能面临的问题,因此,如果其他人无意中发现了这个问题,那么你的问题可能对他们有用。尽管这取决于你。@抱歉打扰了,不必道歉。我更担心我对OP的问题的答案很感兴趣,因为我不经常打高尔夫,我怎么能从OP的问题中得出我不需要与击球值匹配的结论。简言之:我错过了什么?我不会说你错过了什么;但更多的是关于这个问题如何改进的问题。一张图片很有帮助,但我想一些更好的解释anation可能会有所帮助。我花了一段时间才理解这些要求,老实说,如果我从我玩过的视频游戏中不知道一点高尔夫,我可能会走你选择的道路;
=IF(AND($B7<>"",$D7="Par"),INDEX(E$3:E5,MATCH($B7,$B$3:$B5,0)),IF(AND($B6<>"",$D7="Strokes"),INDEX(E$3:E4,MATCH($B6,$B$3:$B4,0)+1),""))
=IF(AND($B7<>"",$D7="Par"),IF(ISERROR(MATCH($B7,$B$3:$B5,0)),"Par",INDEX(E$3:E5,MATCH($B7,$B$3:$B5,0))),IF(AND($B6<>"",$D7="Strokes"),IF(ISERROR(MATCH($B6,$B$3:$B4,0)),"Strokes",INDEX(E$3:E4,MATCH($B6,$B$3:$B4,0)+1)),""))