这些是我的价值观:
Service_order PENDING_DAYS SERVICE_TYPE ASC code INOUTWTY Part_code1 Part_code2 Part_code3 Part_code4 Part_code5
4182864919 18 CI 3440690 LP GH82-11218A GH96-09406A GH81-13594A GH02-11552A GH02-11553A
4182868153 18 CI 4285812 LP GH97-17670B
4182929636 17 CI 4276987 LP GH97-17260C GH02-10203A
4182953067 16 CI 3440690 LP GH97-17940C
4182954688 16 CI 6195657 LP GH82-10555A GH97-17852A GH81-13071A
4182955036 16 PS 6195657 LP GH97-17940C
我正在尝试编写代码,以便为每个部分显示五次行值。
这是我正在使用的公式:
=INDEX(A:I;(ROW(1:1)-1)/5+1;IF(COLUMN(A:A)=1;1;MOD(ROW(1:1)-1;5)+1))
它给我的结果是这样的:
Service_order PENDING_DAYS SERVICE_TYPE ASC code INOUTWTY Part_code
4182864919 18 CI 3440690 LP GH82-11218A
4182864919 CI 3440690 LP GH82-11218A GH96-09406A
4182864919 3440690 LP GH82-11218A GH96-09406A GH81-13594A
4182864919 LP GH82-11218A GH96-09406A GH81-13594A GH02-11552A
4182864919 GH82-11218A GH96-09406A GH81-13594A GH02-11552A GH02-11553A
4182868153 18 CI 4285812 LP GH97-17670B
4182868153 CI 4285812 LP GH97-17670B 0
4182868153 4285812 LP GH97-17670B 0 0
4182868153 LP GH97-17670B 0 0 0
4182868153 GH97-17670B 0 0 0 0
4182929636 17 CI 4276987 LP GH97-17260C
4182929636 CI 4276987 LP GH97-17260C GH02-10203A
4182929636 4276987 LP GH97-17260C GH02-10203A 0
4182929636 LP GH97-17260C GH02-10203A 0 0
4182929636 GH97-17260C GH02-10203A 0 0 0
这是错误的。如您所见,值开始在第二行再次显示。
我想要显示的值是(service_order
,Pending_days
,Service_type
,ASC_code
,InOutWty
)以及何时达到{{1我告诉的值是相同的但是part_code开始改变(part_code1,part_code2,part_code3,part_code4,part_code5)。
为了向您展示我想要的结果,我创建了这个:
part_code
我哪里错了?
答案 0 :(得分:2)
嗯,这个答案有4个部分:
part_code
part_code
矩阵转换为向量让我们开始......
但在此之前让我们区分part_code
列以及表的所有其余部分,我们将分别处理它们。所以从现在开始,我将调用表“Info”表的左侧,右侧将只是“part_code”表
<强> 1。对信息表中的列进行排序
好吧,因为Info表中只有5列,所以更快的方法是手动对它们进行排序。如果还有更多,则可以将第一行复制转置为列,然后对其进行排序,然后手动对列进行排序。可能有一种更聪明的方式,但这不是你问题的本质。
此排序对于HLOOKUP
函数的工作非常重要。
<强> 2。定义数据中的范围
我会假设您知道该怎么做,但如果没有,请查看here。我们将Info表的所有范围定义为Info
,并将部分代码表的所有范围定义为,不包含第一行为part_code
。
第3。制作信息表
中所有行的5 *副本使用HLOOKUP
和ROW
,我们将制作5份副本:
=HLOOKUP(A$11,Info,CEILING((ROW()-ROW($A$11))/5+1,1))
将Info的头行(按您喜欢的任何顺序)复制到新位置,并将上面的公式放在数据应该进入的最左上角的单元格中(在此示例中为A12
)。
然后更正公式,以便开始时A$11
和公式中间的$A$11
将成为第一个列标题 - 保持$
相同以进行正确的引用。您现在可以将其一直向下拖动并向左拖动以填充表格的所有信息部分:
4.将part_code矩阵转换为向量
在新表“part_code”的最后一栏中,将此公式(source)粘贴到列标题的正下方:
=OFFSET(part_code,TRUNC((ROW()-ROW($F$12))/COLUMNS(part_code)),MOD(ROW()-ROW($F$12),COLUMNS(part_code)),1,1)
再次将所有$F$12
更正为同一个单元格,然后将其粘贴(保留$
!),并将其完全拖下来:
就是这样!
希望它能解决你的问题;)