0

我认为这是迄今为止我不得不破解的最难的一次——太难了,我很难找到一个好的标题。

所以我们有一个卡车来购买砾石、沙子或其他建筑材料的站点。

有时他们也会先卸下拆迁垃圾。

我需要找出几件事

  1. 有多少卡车(以及来自哪些公司)空了
  2. 如果他们空了,他们从我们这里买了什么。
  3. 哪些公司正在运送满载卡车,哪些公司正在运送空卡车。
  4. 即使在我们的工厂空无一人时,他们也会开车到我们这里购买的前 10 种材料。
  5. 他们开给我们的所有订单号的清单,直到装满并带着空卡车。(我有与订单号相关的距离,所以现在我可以估算我们产品的价值)

我可用的数据:我有一个完整的数据集,关于什么客户购买什么和/或支付交付的时间。例如:

数据外观示例

我可以看到我需要将数据拆分成的部分我认为应该是这样的

  1. 找到所有独特的车牌
  2. 以某种方式绘制他们是否在卸载拆除废物后 30 分钟内购买材料(大多数卡车每天会来 2 到 10 次)
  3. 呈现所有这些数据(在正常情况下,我们有大约 800 辆卡车 = 2000 条线,因为它们称重、称重,然后有些买东西 = 2 条称重线)

我每天可以轻松找到唯一的车牌(通过公式或 Excel 函数数据/删除双峰,但之后我不知道从哪里开始。

我想我需要在中间放一些床单,如果某种材料是从“空卡车”上购买的,我会以某种方式标记出来,我需要一个柜台……不知何故……

任何有关如何开始的帮助表示赞赏。

4

1 回答 1

0

似乎最好的开始方法是使用辅助列(在以下示例中,我选择了“列 M”)来标记卡车是否空车。

在帮助列中,您可以使用类似于以下公式的内容。

{=IF(ISBLANK(B2),0,IF(C2="In",0,IF(B2=$B$2:$B$13,IF($C$2:$C$13="In",IF($A$2:$A$13>(A2-TIME(0,30,0)),0,1),1),1)))}

这是一个数组公式,这意味着您必须ctrl+shift+enter在将其粘贴到单元格后按下。然后,您可以将该单元格复制到该列中。

只是为了解释一下,如果 C 列是“In”,则第一个 if 语句知道卡车不会空着到达。第二个 if 语句创建一个数组并测试以查看其他相同的卡车是否出现在其他行中。第三个 if 语句检查是否同一辆卡车在匹配的行中签入,第四个 if 语句验证他们签入的时间是否少于 30 分钟前。TIME(0,30,0)您可以通过编辑功能来调整长度。格式为TIME(hours,minuites,seconds). 除非卡车与第二个、第三个和第四个 if 语句中的所有三个匹配,否则它会被标记为空车。

一旦你有了这个帮助列,你几乎所有的任务都非常简单。

1a:有多少卡车空了?求和列 M

1b:哪家公司有多少辆卡车?创建唯一的公司列表。COUNTIFS然后基于列 M = 1 和列 K = 公司创建一个公式。例如,如果C32有,Company B那么公式=COUNTIFS($M$2:$M$13,1,$K$2:$K$13,C32)将返回2

1c:卡车空了多少次?与 1b 类似,创建一个唯一的车牌列表,然后使用COUNTIFS基于列 M = 1 和列 B = 车牌的 a。

2:与 1b 类似,仅使用针对 F 列测试的唯一产品列表

3:与 1b 类似,只需创建第二列,在第一列旁边,使用=COUNTIFS($M$2:$M$13,0,$K$2:$K$13,C53,$C$2:$C$13,"In")哪些测试 M 列报告卡车没有空车,与 K 列中的公司匹配,并且卡车“进来”所以你不要'当它“出去”时,不要重复计算同一辆卡车

4:只需排序由数字2创建的列表。您可以突出显示范围,右键单击并选择“排序”>“自定义排序”,然后选择要排序的列,从大到小。 自定义排序

5:有几种不同的方法,你可以这样做。公式

{=TEXTJOIN(", ",TRUE,IF($M$2:$M$13=1,$J$2:$J$13,""))}

(同样,作为数组公式输入)将创建一个逗号分隔的订单号列表。如果您想要一列订单号(但仅在它们实际上是数字时才有效),另一种方法是将公式 { =MAX(IF($M$2:$M$13=1,$J$2:$J$13,))} 粘贴到该列的第一行(在我的示例中为它O2),然后粘贴到{=MAX(IF($M$2:$M$13=1,IF($J$2:$J$13<O2,$J$2:$J$13,)))}下面的行(如果您将其粘贴到不同的位置,请更改引用O2)(再次注意,这两个都是数组公式)。然后将第二个公式复制并粘贴到列中。当空车的订单号用完时,公式将报告0

于 2018-06-11T19:06:13.097 回答