基于行和列组合的系列

时间:2015-10-06 21:27:39

标签: excel excel-formula series

我有一个包含行和列的Excel,如下所示:

enter image description here

我需要在Excel中构建如下所示的系列,其中包含两列:

enter image description here

我有一个庞大的数据集,其中行是日期,列是半小时的数据。

哪种方法最好?

4 个答案:

答案 0 :(得分:0)

我建议使用INDIRECT函数:

如果要使用行标签,请在列中输入以下公式:

=INDIRECT("R" & MOD(ROW()-1, COUNTA(A:A))+2 & "C1",FALSE)

此处A:A指的是存储行标签的列,+ 2指向带有标签的第一行。

在您想要列标签的列中,输入:

=INDIRECT("R1C" & ROUNDDOWN((ROW()-1)/COUNTA($B$1:$D$1),0)+2,FALSE)

这里$ B $ 1:$ D $ 1指的是列标签的范围,+ 2再次偏移到第一列标签。

答案 1 :(得分:0)

假设您的数据位于C7:F12

范围内

enter image description here

我们需要三个字段来显示结果系列:RowColData

行:在单元格H7中输入此公式并复制到最后一条记录:

=IF(EXACT(H6,H$6),1,
IF(EXACT($I7,CHAR(133)),"",
IF($I7=1,SUM(1,H6),H6)))

Col:在单元格I7中输入此公式并复制到最后一条记录:

=IF(EXACT(I6,I$6),1,
IF(EXACT(I6,CHAR(133)),CHAR(133),
IF(I6=COLUMNS($C$7:$F$12),
IF(H6=ROWS($C$7:$F$12),CHAR(133),1),
SUM(1,I6))))

数据:在单元格J7中输入此公式并复制到最后一条记录:

=IF(EXACT($I7,CHAR(133)),"",
INDEX($C$7:$F$12,$H7,$I7))

enter image description here

答案 2 :(得分:0)

在用户提供的样本数据之后发布修订后的答案(左前一个答案,因为它可能对其他用户有用)

假设您的数据位于C6:K11

范围内

我们需要四个字段来显示结果系列:RowCol,'日期and时间

行:在单元格M7中输入此公式并复制到最后一条记录:

=IF(EXACT(M6,M$6),1,
IF(EXACT($N7,CHAR(133)),"",
IF($N7=1,SUM(1,M6),M6)))

Col:在单元格N7中输入此公式并复制到最后一条记录:

=IF(EXACT(N6,N$6),1,
IF(EXACT(N6,CHAR(133)),CHAR(133),
IF(N6=COLUMNS($C$6:$K$6),
IF(M6=ROWS($B$7:$B$11),CHAR(133),1),
SUM(1,N6))))

日期:在单元格O7中输入此公式并复制到最后一条记录:

=IF(EXACT($N7,CHAR(133)),"",
INDEX($B$7:$B$11,$M7,0))

时间:在单元格P7中输入此公式并复制到最后一条记录:

=IF(EXACT($N7,CHAR(133)),"",
INDEX($C$6:$K$6,0,$N7))

enter image description here

可隐藏字段RowCol

答案 3 :(得分:0)

以下内容将产生您的结果,但数组公式将影响计算延迟,具体取决于原始数据矩阵中的行数和数据列。

Flatten rows and columns

A10中的数组公式¹是

=IFERROR(INDEX(A$2:A$6, MATCH(0, IF(COUNTIF(A$9:A9, A$2:A$6&"")<COUNT($1:$1), 0, 1), 0)), "")

B10中的标准公式是,

=IF(LEN(A10), INDEX($B$1:INDEX($1:$1, MATCH(1E+99,$1:$1 )), , COUNTIF(A$10:A10, A10)), "")

C10中的数据检索是通过

完成的
=INDEX(A:J,MATCH(A10,A:A,0),MATCH(B10,$1:$1,0))

根据需要填写。

¹数组公式需要用 Ctrl + Shift + Enter↵完成。一旦正确进入第一个单元格,就可以像任何其他公式一样向下或向右填充或复制它们。尝试并减少对列表的全列引用,这些范围更接近地表示实际数据的范围。数组公式以对数方式计算计算周期,因此将参考范围缩小到最小值是一种好习惯。有关详细信息,请参阅Guidelines and examples of array formulas