查找功能为同一数据集

时间:2015-11-27 12:36:06

标签: excel-formula offset vlookup

您好我想在下面的数据上创建一个数据透视表。在Q栏(" Ver 00")中,我有地方/城市的缩写。我想确定两个方向有多少次旅行;来自" bast" to" drg"然后从" drg"麻烦"。问题是所有的旅行并不总是在" bast"并完成" drg"而另一种方式。有时候他们会在" nbst"并完成" drg"。我完全迷失在这里。但是我如何制作一个能够识别哪个方向的列?" IN"哪个方向是" OUT"如果我定义" bast" => " DRG" as" IN"和" drg" => "韧皮" as" OUT"?我认为vlookup在这里可能很有用(定义两个方向),但我不知道这是否能解决问题。

列应该看起来像列AG。

我已经尝试过这个公式,但它不起作用:

=IF([@Batch]<>N3,IF([@Rank]<=7,IF(COUNT.IF(Inrng,[@[Ver 10]]),"In",IF([@Rank]>7,IF(COUNT.IF(Outrng,[@[Ver 10]]),"Out",)))),AR3)

enter image description here

1 个答案:

答案 0 :(得分:1)

嗯,如果你能确定&#34; bast&#34;或者&#34; drg&#34;包含在每个批次(旅程)中,然后你需要的只是确定哪一个是给定旅行中的第一个。

为此,我将使用匹配功能。这些必须找到&#34;韧皮&#34;和#34; drg&#34;实际批次。要做到这一点,我将连接&#34; Batch&#34;和&#34; Ver 00&#34;列,并在其中搜索。

然后我需要做的就是比较这些位置,看看哪一个是第一个。

见下文:

trips sample picture

在单元格D2中使用此公式:

=IF(MATCH(A2&"bast",C:C,0)<MATCH(A2&"drg",C:C,0),"in","out")

这更贴近您的需求吗? :)

添加了遗失的新方法&#34; bast&#34;或者&#34; drg&#34;例:

试试这个:

=IFERROR(IF(MATCH([@Batch]&"bast",[Batch&Ver 00],0)-MATCH([@Batch],[Batch],0)=0,"in","out"),IF(MATCH([@Batch]&"drg",[Batch&Ver 00],0)-MATCH([@Batch],[Batch],0)=0,"out","in"))

请注意,我没有一次完成这项工作。我已经使用了5个辅助列,并且首先逐步完成。我推荐这种方法用于复杂的计算。

我在这做什么:

使用匹配找到&#34; bast&#34;在批处理。

MATCH([@Batch]&"bast",[Batch&Ver 00],0)

使用其他匹配项查找实际批次的第一行:

MATCH([@Batch],[Batch],0)

如果这些值在同一行,则它是&#34;在&#34;中,否则它是&#34; out&#34;:

IF(MATCH([@Batch]&"bast",[Batch&Ver 00],0)-MATCH([@Batch],[Batch],0)=0,"in","out")

现在,如果整个事情产生错误,那意味着&#34; bast&#34;无法找到。在这种情况下,请执行相同的搜索&#34; drg&#34;。这就是iferror的作用:

IFERROR({...previous part...},IF(MATCH([@Batch]&"drg",[Batch&Ver 00],0)-MATCH([@Batch],[Batch],0)=0,"out","in"))

作为参考,我这是我正在使用的表格的另一张图片,以便您了解列名称:

BastDrg table