根据部分文本计算唯一值
Counting unique values based on partial text
我托盘上的箱子里有很多物品。我想知道如何计算托盘中箱子的唯一数量。
A
B
C
D
E
1
Item
Pallet-box ID
Pallet No.
No. of boxes
2
abc
P01-B01
P01
5
3
def
P01-B01
P02
2
4
ghi
P01-B02
5
jkl
P01-B02
6
mno
P01-B02
7
pqr
P01-B03
8
stu
P01-B03
9
vwx
P01-B04
10
yz
P01-B05
11
123
P02-B01
12
456
P02-B02
12
789
P02-B02
因此,根据上述示例,上述货盘 (P01) 有 5 个不同的箱子 (B01-B05),货盘 (P02) 有 2 个不同的箱子 (B01-B02)。我应该使用什么样的公式来获得 E 列中 P01 的 5 和 P02 的 2 的结果?我正在考虑使用 COUNTIF,但它似乎不适用于此处。非常感谢任何advice/help。
如果您有 Excel 365,您可以使用以下公式。
我添加了一些辅助列来实现结果。
=UNIQUE(tblData[Pallet-box ID])
检索唯一托盘箱(E 列)
基于此=UNIQUE(LEFT(UNIQUE(tblData[Pallet-box ID]),3))
检索唯一托盘号。 (G 列)
现在我们可以计算托盘箱内的托盘编号:=COUNTIF(E4#,G4# & "*")
(H 列)
我自己不是专家,但我刚刚创建了以下示例:
A B C D E
7 a
8 a
9 a
10 b
11 b
在一个单元格中,我创建了公式 =UNIQUE(E7:E11)
并在其旁边创建了公式 =COUNTIF(E7:E11,UNIQUE(E7:E11))
,这些是结果:
a 3
b 2
因此,结合 COUNTIF()
和 UNIQUE()
基本 Excel 功能可能会对您有所帮助。
编辑:您可以使用辅助列,基于=LEFT(B1,LEN(A1))
:我将P01
放在单元格“A1”中,P02-B01
在单元格“B1”中,结果是 P02
,P02-B01
的左侧,基于 P01
.
的长度
嗯,如果你用的是Excel2021或者O365,那么你也可以试试这个,
唯一托盘编号
• 单元格 D3
中使用的公式
=UNIQUE(LEFT(Pallet_box_ID,3))
没有。箱数
• 单元格 E3
中使用的公式
=SUMPRODUCT(--(LEFT(UNIQUE(Pallet_box_ID),3)=D3))
其中Pallet_box_ID指范围
=$B:$B
使用定义的名称管理器创建 --> select 范围从 B2:B14 & 按 CTRL
+ SHIFT
+ F3
--> 从 Create Names From Selection Dialog Box 检查 Top Row 然后按 Ok,现在你可以参考 名称框 显示范围 B3:B14
为 Pallet_box_ID
另外我会建议你使用这种方式,因为托盘箱 ID 可能是 PO10 或 PO100 然后 LEFT(Pallet_box_ID,3) 不会给你正确的输出,如下图所示
• 单元格 D3
中使用的公式
=UNIQUE(LEFT(Pallet_box_ID,FIND("-",Pallet_box_ID)-1))
• 单元格 E3
中使用的公式
=SUMPRODUCT(--(LEFT(UNIQUE(Pallet_box_ID),FIND("-",UNIQUE(Pallet_box_ID))-1)=D3))
我托盘上的箱子里有很多物品。我想知道如何计算托盘中箱子的唯一数量。
A | B | C | D | E | |
---|---|---|---|---|---|
1 | Item | Pallet-box ID | Pallet No. | No. of boxes | |
2 | abc | P01-B01 | P01 | 5 | |
3 | def | P01-B01 | P02 | 2 | |
4 | ghi | P01-B02 | |||
5 | jkl | P01-B02 | |||
6 | mno | P01-B02 | |||
7 | pqr | P01-B03 | |||
8 | stu | P01-B03 | |||
9 | vwx | P01-B04 | |||
10 | yz | P01-B05 | |||
11 | 123 | P02-B01 | |||
12 | 456 | P02-B02 | |||
12 | 789 | P02-B02 |
因此,根据上述示例,上述货盘 (P01) 有 5 个不同的箱子 (B01-B05),货盘 (P02) 有 2 个不同的箱子 (B01-B02)。我应该使用什么样的公式来获得 E 列中 P01 的 5 和 P02 的 2 的结果?我正在考虑使用 COUNTIF,但它似乎不适用于此处。非常感谢任何advice/help。
如果您有 Excel 365,您可以使用以下公式。
我添加了一些辅助列来实现结果。
=UNIQUE(tblData[Pallet-box ID])
检索唯一托盘箱(E 列)
基于此=UNIQUE(LEFT(UNIQUE(tblData[Pallet-box ID]),3))
检索唯一托盘号。 (G 列)
现在我们可以计算托盘箱内的托盘编号:=COUNTIF(E4#,G4# & "*")
(H 列)
我自己不是专家,但我刚刚创建了以下示例:
A B C D E
7 a
8 a
9 a
10 b
11 b
在一个单元格中,我创建了公式 =UNIQUE(E7:E11)
并在其旁边创建了公式 =COUNTIF(E7:E11,UNIQUE(E7:E11))
,这些是结果:
a 3
b 2
因此,结合 COUNTIF()
和 UNIQUE()
基本 Excel 功能可能会对您有所帮助。
编辑:您可以使用辅助列,基于=LEFT(B1,LEN(A1))
:我将P01
放在单元格“A1”中,P02-B01
在单元格“B1”中,结果是 P02
,P02-B01
的左侧,基于 P01
.
嗯,如果你用的是Excel2021或者O365,那么你也可以试试这个,
唯一托盘编号
• 单元格 D3
中使用的公式=UNIQUE(LEFT(Pallet_box_ID,3))
没有。箱数
• 单元格 E3
中使用的公式=SUMPRODUCT(--(LEFT(UNIQUE(Pallet_box_ID),3)=D3))
其中Pallet_box_ID指范围
=$B:$B
使用定义的名称管理器创建 --> select 范围从 B2:B14 & 按 CTRL
+ SHIFT
+ F3
--> 从 Create Names From Selection Dialog Box 检查 Top Row 然后按 Ok,现在你可以参考 名称框 显示范围 B3:B14
为 Pallet_box_ID
另外我会建议你使用这种方式,因为托盘箱 ID 可能是 PO10 或 PO100 然后 LEFT(Pallet_box_ID,3) 不会给你正确的输出,如下图所示
• 单元格 D3
中使用的公式=UNIQUE(LEFT(Pallet_box_ID,FIND("-",Pallet_box_ID)-1))
• 单元格 E3
中使用的公式=SUMPRODUCT(--(LEFT(UNIQUE(Pallet_box_ID),FIND("-",UNIQUE(Pallet_box_ID))-1)=D3))