如何返回 Excel 宏中的多条件 if 语句中的一个条件?

如何返回 Excel 宏中的多条件 if 语句中的一个条件?

我知道 A 列中的所有单元格都将包含一组值中的一个值。通常单元格中还有其他文本,这就是为什么我不能只使用单元格的值。在本例中,它是城市,例如:旧金山、纽约和西雅图。

我的目标是制作一个多条件宏,一旦满足其中一个条件,就会将该条件精确地放入特定单元格中。因此,在我的示例中,其中一个条件是单元格包含西雅图。因此,如果单元格 A3 包含“西雅图”,那么我希望宏将“西雅图”放入单元格 B3。或者,如果单元格 A3 包含“纽约”,那么我希望它将“纽约”放入单元格 B3。等等。我该怎么做?

答案1

它并不漂亮,但你可以在单元格 B3 中使用类似这样的内容:

=IF(IFERROR(SEARCH("San Francisco",A3),0),"San Francisco",IF(IFERROR(SEARCH("New York",A3),0),"New York",IF(IFERROR(SEARCH("Seattle",A3),0),"Seattle","")))

为了更容易看到:

IF(
    IFERROR(SEARCH("San Francisco",A3),0)
    ,"San Francisco"
    ,IF(
        IFERROR(SEARCH("New York",A3),0)
        ,"New York"
        ,IF(
            IFERROR(SEARCH("Seattle",A3),0)
            ,"Seattle"
            ,""
        )
    )
)

具体来说,基本上,您使用 SEARCH 来查找它是否包含文本字符串,然后它会返回 1 或 #VALUE!然后我使用 IFERROR 来处理 #VALUE!并将其更改为 0。

IF 语句是嵌套的:

IF (San Francisco)
[true]  "San Francisco"
[false] IF (New York)
        [true]  "New York"
        [false] IF (Seattle)
                [true]  "Seattle"
                [false] ""

相关内容