没有VBA的Excel格式

时间:2016-09-28 16:31:37

标签: excel

所以我有一些结果可能有也可能没有总数。在这种情况下食物。每种食物的总量和重量。我有结果下面的信息,但我不想转移。我会使用一个表,但如果我隐藏行,它会移动项目。如果我对行进行排序,仍会显示没有结果的食物名称。我知道如何将结果重新格式化为食物,结果仅在一个新的参考细胞中?我试图在没有按下按钮的情况下自动执行此操作,并且不使用宏&#s; / vba。我可以使用像=IF(ISBLANK(B21),"noResults",A21)这样的东西,但我怎么能像我的例子那样列出它们呢?

       a1    b1      c1 

           Amount   Weight
x    Apples   5     10
x    Oranges        
x    Peaches  6     10
x    Lemons   2     10
x    Tomatos        
x    Avacados 3     10
x
x
x    xxxxdon't shift or move xxxxxxxxx

TO:

x    g1      h1     i1
x            Amount Weight
x    Apples   5     10
x    Peaches  6     10
x    Lemons   2     10  
x    Avacados 3     10
x
xxxxxxxxdon't shift or move xxxxxxxxx

1 个答案:

答案 0 :(得分:1)

如果您可以在食物中添加ID列,则可以使用SMALL()功能执行以下操作:

example of using the small() function in Excel

=IF(D3<>"",B3,"")
=IFERROR(SMALL($F$3:$F$8,ROW(C1)),"")
=VLOOKUP(H3,$B$3:$F$8,2,FALSE)

进一步解释

  • SMALL()函数接受一个数字数组,并返回第1个最小值,第2个最小值或任何指定的最小数字。由于此示例仅包含食品名称,因此我必须添加ID列(B列)以获取数字数组。

  • 由于我们只想查看包含数据的行(数量和重量),因此我添加了另一列ID Formula(列F),以便在列中包含数据时仅显示ID

  • 既然我们只显示带有数据的ID,我们可以使用SMALL()函数来显示仍然显示的第一个最小ID,然后显示仍然显示的第二个最小ID,依此类推...注意我使用ROW()函数来获得1,2,3 ...

  • 最后,我使用一个简单的VLOOKUP()来添加相应ID的食物,数量和重量。