2013-05-05 102 views
0

我正在提取有关故障单及其状态的Year To Date月度报告。在Excel中比较YTD之间的值月度报告

我有APRI报告:五月

IDStatus
123Open
124Closed

和另一份报告:

IDStatus
123Closed
124Closed
125Open

我需要找出多少张门票基础上,五月的报告自四月份以来已经关闭。所以在这种情况下,只有一张票 - > 123. 124在四月份已经关闭,所以我不会在五月关闭它,尽管它将在五月的报告中出现。我基本上正在寻找两个报告之间状态的变化。

我显然正在处理大量的数据。这是我应该提取的常规报告,所以我也在研究自动化的可能性(例如宏或VBA)。

+0

哪里是4月的报告?它是否存储在同一个工作簿中?你有什么尝试? “宏或VBA”是什么意思?宏用VBA编写。 – teylyn 2013-05-05 20:40:48

+0

四月和五月的报告完全在不同的文件中。他们不在同一本工作簿中。我似乎无法把头围住它。我正在考虑VLOOKUPS和IF的组合,但我无法弄清楚。我关于宏或VBA的错误,我的意思是宏和VBA。我不太了解VBA作为一种语言,但是如果有一种方法可以通过Excel函数来实现,那么我可以使用非常友好和可视化的宏记录器将其自动化。 – user1259984 2013-05-05 21:12:35

+0

这听起来很糟糕的信息架构。每个月,宏都需要查看不同的文件。或者,您可以安排源数据捕获状态更改的日期。如果源数据在Excel中,那将非常简单。然后,您可以通过简单地使用当月的日期戳来计算状态来构建报告。 – teylyn 2013-05-05 21:41:10

回答

1

我希望下面的解决方案能做到。

表四月

Sheet April

片可以

Sheet May

片可以C2(四月状态)写式

=IFERROR(VLOOKUP(A2;April!$A$2:$B$3;2;FALSE));"") 

和D2写入

=IF(AND(C2="Open";B2="Closed");1;0) 

相信会要总结列d

+0

您的c2公式可以用iferror()来改进,而不是if(iserror(...) – momobo 2013-05-06 06:12:57

+0

IFERROR()需要两个参数。但是,只有我回到该区域的参数需要返回TRUE或FALSE的公式值。对他而言,使用ISERROR()。 – 2013-05-06 08:03:06

+0

我不明白你的意见。我在= IFERROR(VLOOKUP(A2;四月!$ A $ 2:$ B $ 3; 2; FALSE);“”)或多或少是同一个公式,但它更短。 – momobo 2013-05-06 08:18:00