gpt4 book ai didi

excel - 通过不同表的列复制表中的行

转载 作者:行者123 更新时间:2023-12-03 03:47:11 27 4
gpt4 key购买 nike

这些是我的值(value)观:

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),当它到达part_code时,我告诉的值是相同的,但part_code开始改变(part_code1,part_code2,part_code3,part_code4,part_code5)。

为了向您展示我想要的结果,我创建了以下内容:

Service_order   PENDING_DAYS    SERVICE_TYPE    ASC code    INOUTWTY    Part_code1

4182864919 18 CI 3440690 LP GH82-11218A
4182864919 18 CI 3440690 LP GH96-09406A
4182864919 18 CI 3440690 LP GH81-13594A
4182864919 18 CI 3440690 LP GH02-11552A
4182864919 18 CI 3440690 LP GH02-11553A
4182868153 18 CI 4285812 LP GH97-17670B
4182868153 18 CI 4285812 LP 0
4182868153 18 CI 4285812 LP 0
4182868153 18 CI 4285812 LP 0
4182868153 18 CI 4285812 LP 0
4182929636 17 CI 4276987 LP GH97-17260C
4182929636 17 CI 4276987 LP GH02-10203A
4182929636 17 CI 4276987 LP 0
4182929636 17 CI 4276987 LP 0
4182929636 17 CI 4276987 LP 0

我哪里出错了?

最佳答案

嗯,这个答案有 4 个部分:

  1. 对数据中的列进行排序。
  2. 定义数据范围(这会让事情变得更清晰)。
  3. 对除 part_code 之外的所有数据制作 5 份副本
  4. part_code 矩阵转换为向量

让我们开始吧...

但在此之前,让我们区分一下 part_code 列和表的所有其余部分,我们将分别处理它们。因此,从现在开始,我将表的左侧称为“Info”表,右侧将只是“part_code”表

<强>1。对信息表中的列进行排序

好吧,由于信息表中只有 5 列,更快的方法是手动对它们进行排序。如果您有更多,您可以将第一行复制转置为一列,然后对其进行排序,然后手动对列进行排序。可能有一种更聪明的方法,但这不是你问题的本质。这种排序对于 HLOOKUP 函数的工作非常重要。

sorting the columns

<强>2。定义数据范围

我假设您知道如何做到这一点,但如果不知道,请看看 here 。我们将 Info 表的所有范围定义为 Info,将 Part code 表的所有范围(没有第一行)定义为 part_code

define range names

<强>3。制作信息表中所有行的 5* 副本

使用 HLOOKUPROW 我们将制作 5 个副本:

=HLOOKUP(A$11,Info,CEILING((ROW()-ROW($A$11))/5+1,1))

将 Info 的首行(按照您喜欢的任何顺序)复制到新位置,并将上面的公式放在数据应放入的最左上角单元格中(在本例中为 A12).

然后更正公式,使公式开头的 A$11 和公式中间的 $A$11 将成为第一列标题 - 保留 $ 与正确引用相同。现在,您可以将其一直向下和向左拖动以填充表格的所有信息部分:

copy the info table

4.将part_code矩阵转换为向量

在新表“part_code”的最后一列中,将此公式 ( source ) 粘贴到列标题下方:

=OFFSET(部分代码,TRUNC((ROW()-ROW($F$12))/COLUMNS(部分代码)),MOD(ROW()-ROW($F$12),COLUMNS(部分代码)) ,1,1)

并再次将所有 $F$12 更正为粘贴时所在的同一单元格(保留 $!),然后将其一直向下拖动:

copy the part_codetable

仅此而已!

希望它能解决您的问题;)

关于excel - 通过不同表的列复制表中的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38332060/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com