2016-09-19 151 views
0

一直试图弄清楚这一点了一会儿 -在数据透视表添加一列与条件

如果我有一种情况,我的数据透视表给我沿着线的东西:

Row Labels    Revenues 

    Panera    25 
     Pasta   15 
     Salad   10 

    Olive Garden   40 
     Sandwich  20 
     Pasta   20 

我想下一个插入一列与0的仅适用于头(帕尼罗,橄榄园)的行收入和离开行的其余部分订单空白 - 也就是

Row Labels    Revenues Order # 

    Panera    25   0 
     Pasta   15   
     Salad   10 

    Olive Garden   40   0 
     Sandwich  20 
     Pasta   20 

是有办法无论是在VBA中,还是只使用公式?在我的数据透视表中,标题被标记为“餐厅名称”,而子标签被标记为“订单”,我正在考虑按照以下方式说 - 如果是餐馆名称,则插入0,否则留空 - 但不知道如何要做到这一点,或者如果有更简单的方法?

+0

如果没有餐厅名称和订单名称的重叠(即您没有名为“Pasta”的餐厅例如),你可以使用一个公式,例如'= IF(IFERROR(VLOOKUP(A3,Sheet2!A:A,1,FALSE),“”)=“”,“”,0)'表是从Sheet2的列A中提取包含餐厅名称的原始数据) – YowE3K

+0

谢谢!这是完美的!我只有一个小问题 - 当我输入= IF(IFERROR(VLOOKUP(A3,“食物”,A:A,1,FALSE),“”)时,而不是sheet2,我的表名称就像“Food” =“”,“”,0)我得到一个错误,说太多的论点,如果我拿出食物和范围之间的逗号,我得到一个格式错误 - 有没有一种方法来调整? – S31

+0

您将我建议的公式中的Sheet2!A:A部分更改为“Food”,A:A'。你应该把它改成'Food!A:A'(即sheetname!范围)。 (或者,如果“食品”仅仅是一个例子,而且你确实是指“食品和餐馆”的意思,那么表单名称中的空格会要求你用''字符包装它,所以'食品和餐厅'!A:A '。) – YowE3K

回答

0

如果没有的餐馆名称和订单的名字重叠(即你没有一个名为“意大利面”,例如餐厅),你可以使用一个公式如

=IF(IFERROR(VLOOKUP(A3,'Sheet2'!A:A,1,FALSE),"")="","",0)

(假设您的数据透视表从Sheet2的列A提取包含餐厅名称的原始数据)