我是编程新手,并且一直困扰着这个挑战。我怀疑该解决方案将涉及嵌套条件和/或用户定义的函数。我有一个类似于这个的表,它在#34;表#"中从最小到最大排序。柱:
QTY Type Sheet#
1 B 1000
5 B 1001
3 B 1002
2 B 1005
7 B 1009
4 B 1010
2 B 1010
3 B 1010
1 B 1011
2 B 1012
6 B 1013
8 B 1013
1 B 1015
1 B 1015
2 B 1016
有几件事需要考虑:有些纸张编号是重复的,有些纸张编号丢失了(例如上面列表中缺少1006到1008)部分纸张编号是连续的,其中一些是重复,然后连续下一张表格编号(如1010,1010,1010,1011)
我需要生成的结果是三个单元格:总数量,字母的翻译(如" B"代表" Beam"以及串联的表格编号如下所示
QTY Type Sheet#
48 Beams On sheets 1000 to 1002, 1005, 1009 to 1013, 1015 and 1016
翻译来自" B"到#34; Beams"只有一个案例。我在单独的工作表上有另一个表,列出了所有类型,例如。 B =梁,C =柱,BR =支撑,PS =管道支撑等
非常感谢任何指导。
答案 0 :(得分:0)
将B:C复制到另一个区域(我放在G:H中)
使用数据标签
下的“删除重复项”功能在F2中输入:=SUMIF(B:B,G2,A:A)
在I2中加入一个vlookup公式来拉回B或C或其他任何
的含义在J2中输入以下公式:=IF(G2<>G1,"On sheets " & H2,IF(AND(H2=H1+1,H2=H3-1),J1,IF(H2=H1+1,J1 & " to " & H2,J1 & ", " & H2)))
向下拖动F2,I2和J2。
这是我玩一些测试数据时的样子(没有做vlookup,它对我的测试没有影响)
QTY TypeSheet#
48 B 1000 On sheets 1000
48 B 1001 On sheets 1000
48 B 1002 On sheets 1000 to 1002
48 B 1005 On sheets 1000 to 1002, 1005
48 B 1009 On sheets 1000 to 1002, 1005, 1009
48 B 1010 On sheets 1000 to 1002, 1005, 1009
48 B 1011 On sheets 1000 to 1002, 1005, 1009
48 B 1012 On sheets 1000 to 1002, 1005, 1009
48 B 1013 On sheets 1000 to 1002, 1005, 1009 to 1013
48 B 1015 On sheets 1000 to 1002, 1005, 1009 to 1013, 1015
48 B 1016 On sheets 1000 to 1002, 1005, 1009 to 1013, 1015 to 1016
20 C 1012 On sheets 1012
20 C 1013 On sheets 1012 to 1013
20 C 1015 On sheets 1012 to 1013, 1015
20 C 1016 On sheets 1012 to 1013, 1015 to 1016
完成后,您可以复制并粘贴为值,只需删除除每个类型的最后一行之外的所有行