通过组合现有行来创建新行 excel



我是新手,所以如果这违反了规则,请告诉我。

我有一个看起来很简单的问题,但我想检查以确保。我一直在尝试查看是否可以通过将一列中的每个变量与另一列组合来创建一个新行,如下所示:

Column 1       Column 2        Combined 
A               1              A1
B               2              A2
3              A3
B1
B2
B3

但是,我希望组合列在没有用户输入的情况下进行此组合,而不是手动键入组合,并在添加或删除第 1 列或第 2 列时自动更新。我一直在试图弄清楚是否有某种方法可以在 excel 或 & 符号中使用连接函数,但这两种方法似乎都不起作用。我正在考虑尝试在视觉基础知识中对此进行编码。

主要问题:这可以在 excel 中完成吗?如果是这样,我可以使用哪些功能?

这假设您的数据有一个标题行(第 1 行(,第 1 列是"A"列,第 2 列是"B"列。 将下面的公式放在一个空单元格中,并在数据允许的范围内向下复制。

=INDEX(A:A,INT((ROW(A2)+1)/(COUNTA(B:B)-1))+1)&INDEX(B:B,MOD(ROW(A2)-2,3)+1+1)

现在,如果您想添加一个小标志,让您知道您的行数超过了数据所需的行数,则可以添加以下内容:

=IF(ROW(A2)-1>(COUNTA(A:A)-1)*(COUNTA(B:B)-1),"Data Exceeded",INDEX(A:A,INT((ROW(A2)+1)/(COUNTA(B:B)-1))+1)&INDEX(B:B,MOD(ROW(A2)-2,3)+1+1))

根据: https://www.extendoffice.com/documents/excel/3097-excel-list-all-possible-combinations.html

您可以使用以下公式:

=IF(ROW()-ROW(**$D$1**)+1>COUNTA(**$A$1:$A$4**)*COUNTA(**$B$1:$B$3**),"",INDEX(**$A$1:$A$4**,INT((ROW()-ROW(**$D$1**))/COUNTA(**$B$1:$B$3**)+1))&INDEX(**$B$1:$B$3**,MOD(ROW()-ROW($D$1),COUNTA(**$B$1:$B$3**))+1))

在上式中,$A $ 1:$A$ 4是第一列值,并且$B $ 1:$B$ 3是您要列出所有值的第二个列表值 可能的组合,$D$1是您输入公式的单元格, 您可以根据需要更改单元格引用。

在您的情况下,您应该使用:

=IF(ROW()-ROW($C$2)+1>COUNTA($A$2:$A$3)*COUNTA($B$2:$B$4),"",INDEX($A$2:$A$3,INT((ROW()-ROW($C$2))/COUNTA($B$2:$B$4)+1))&INDEX($B$2:$B$4,MOD(ROW()-ROW($C$2),COUNTA($B$2:$B$4))+1))

最新更新