2

下面是我的 excel 函数输入,但它似乎没有工作,因为它只是返回 - 在谷歌文档中。

=IF(ISERROR(VLOOKUP(F11,Formulas!$A2:$B17, 2, FALSE)),
    VLOOKUP(F11,Formulas!$A2:$B17, 2, FALSE),
    VLOOKUP(F11,Formulas!C2:D17, 2, FALSE))

以下是我想要进行vlookup的信息。

               A    B    C   D

      1       NYJ   27  PHI 20
      2       BUF   13  DET 35
      3       CIN   27  IND 10
      4       MIA   24  NO  21
      5        TB   12  WAS 30
      6       CAR   25  PIT 10
      7       ATL   16  JAC 20
      8        NE   28  NYG 20
      9       MIN   24  TEN 23
      10      STL   24  BAL 21
      11      CHI   16  CLE 18
      12       KC   30  GB  8
      13      DAL   6   HOU 24
      14      DEN   24  ARI 32
      15       SD   6   SF  41
      16      SEA   22  OAK 6

假设用户在单元格 F11 中输入“GB”。公式的点是在GB的右边插入点。公式应该在第一列中查找 GB。如果它是 TRUE,它将对第一列进行 vlookup,因为它在第一列中找到了 GB。如果它是 FALSE,它将对第 3 列进行 vlookup。

不确定发生了什么?仅供参考,我确实将公式中的最后两个 vlookup 函数替换为“TRUE”和“FALSE”,并且它可以正常工作。这只是一个谷歌文档问题吗?

任何帮助都会很棒!谢谢

更新

我在excel中试过这个并得到#N/A

4

3 回答 3

1

当您返回数字时,这里可能会使用另一种方法SUMIF,即

=SUMIF(Formulas!A:C,F11,Formulas!B:D)

如果没有找到 F11 你会得到零

于 2013-09-07T13:56:08.107 回答
0

您的公式将始终#N/A与您当前的数据一起返回。您VLOOKUP的 s 很好,但问题出在IF. 让我解释:

让我们调用VLOOKUP(F11,Formulas!$A2:$B17, 2, FALSE)函数 F1 和VLOOKUP(F11,Formulas!C2:D17, 2, FALSE)F2。

你的IF公式是:

=IF(ISERROR(F1),F1,F2)

字面意思:如果F1返回错误,使用F1!如果 F1 没有返回错误,请使用 F2(顺便说一下,它现在会返回错误)。

这有意义吗?尝试扭转它:

=IF(ISERROR(VLOOKUP(F11,Formulas!$A2:$B17, 2, FALSE)),
VLOOKUP(F11,Formulas!C2:D17, 2, FALSE),
VLOOKUP(F11,Formulas!$A2:$B17, 2, FALSE))

现在应该可以了。您也可以使用 an 来缩短它,IFERROR因为您正在重复两个操作:

=IFERROR(VLOOKUP(F11,Formulas!$A2:$B17, 2, FALSE),VLOOKUP(F11,Formulas!C2:D17, 2, FALSE))

现在这意味着如果 F1 出错,则使用 F2,否则,使用 F1 本身。

于 2013-09-07T06:40:45.323 回答
0

使用IFERROR代替ISERROR

=IFERROR(VLOOKUP(F11,Formulas!$A2:$B17, 2, FALSE),VLOOKUP(F11,Formulas!C2:D17, 2, FALSE))
于 2013-09-07T04:55:48.143 回答