首页 > 解决方案 > 如何在excel中编写正确的IF公式?如果 value=smth,写入下一个值

问题描述

我需要excel公式的帮助。

所以,我在 A 列中有一个值列表,例如这个列表: A 列中的列表

我需要从列表中排除“snickers”和“ticket”并写下一个值。因此,如果 A 列中的值是“snickers”或“ticket”,我需要写下一个值。我想到了这个公式,但它不起作用: =IF(OR(A1="snickers";A1="ticket");A2;A1)

它在“tickets”或“snickers”之后写入下一个值......

这是示例:

输出

你能帮我改正公式吗?

标签: excel-formulaexcel-2010

解决方案


如果您附加的图像实际上显示了您的单元格内容('1 mouse'、'2 cat'、'6 snickers'、'10 ticket'等),那么您的 ="ticket" 或 ="snickers" 将不起作用。你可以使用OR(RIGHT(A1, 8)="snickers", RIGHT(A1,6="ticket")

我猜您的图像比描述实际单元格内容更具参考性,但是您可以根据需要使用 RIGHT(A1) 或不使用。

您可以使用偏移函数来“写入下一个值”,但需要注意的是,如果有 2 个相邻单元格的“snickers”和“ticket”彼此相邻,它将返回“snickers”或“ticket” " 取决于下面的行顺序。如果您想为该场景编写代码,则需要嵌套更多的 IF 语句。

=IF(OR(RIGHT(A1, 8)="snickers",RIGHT(A1, 6)="ticket"),OFFSET(B1,1,-1),OFFSET(B1,0,-1))

上面的公式检查单元格 A1 的内容是否有“snickers”或“ticket”。如果单元格包含任一单元格OFFSET(B1,1,-1),则返回下方单元格(左一个,下一个)的值。如果单元格不包含任何一个,则OFFSET(B1,0,-1)返回相邻的单元格(左侧)。

在此处输入图像描述


推荐阅读