代码之家  ›  专栏  ›  技术社区  ›  Ray K.

将excel函数结果赋给单元格中的变量

  •  0
  • Ray K.  · 技术社区  · 6 年前

    我在做一个excel电子表格,我用vlookup从另一张表格中获取数据。我有它的工作,但它给了我一个恼人的“0”空白结果。我想合并isblank来解决这个问题。

    我的问题是语法。如果返回false,我真的不想为结果重新键入整个vlookup函数。

    换句话说,我尽量避免这样做:

    =IF(ISNULL(VLOOKUP($A2,Sheet!$B$1:Sheet!$C$200,2)),"",VLOOKUP($A2,Sheet!$B$1:Sheet!$C$200,2))
    

    理想情况下,我想做的是这样的事情:

    =IF(ISNULL(VLOOKUP($A2,Sheet!$B$1:Sheet!$C$200,2)),"",[some variable that stores the result of the VLOOKUP])
    

    有什么想法吗?谢谢。。。

    2 回复  |  直到 6 年前
        1
  •  0
  •   BruceWayne    6 年前

    你愿意格式化吗?你可以用这种方法隐藏零,从而保持公式简短。

    突出显示 VLOOKUP() 结果,转到格式化,然后转到自定义。使用此格式和任何 0 将有效隐藏:

    0;-0;;@
    

    enter image description here

        2
  •  -1
  •   Darren Bartrup-Cook    6 年前

    从外观上看,你要的公式是:

    =IF(VLOOKUP($A2,Sheet!$B$1:$C$200,2,FALSE)="","",VLOOKUP($A2,Sheet!$B$1:$C$200,2,FALSE))  
    

    编辑: 这个 FALSE 在函数的末尾,它只找到一个精确的匹配项。省略或设置为 True ,返回精确的 下一个小于查找值的最大值-您的列表必须按升序排序才能正常工作。

    请注意对名为 Sheet Sheet!$B$1:$C$200 而不是 Sheet!$B$1:Sheet!$C$200 是的。

    这么说了 ,一种更简单的方法是用数字格式隐藏0返回。
    为单元格提供自定义数字格式:

    #,##0;-#,##0;;@
    

    第一节 #,##0 是正数的格式,第二个 -#,##0 对于负数,第三个 ;; (未设置格式)用于0和最后一个 @ 对于文本。