C# 按Z字形顺序显示Excel数据?
我们如何将A列和B列中存在的数据以之字形混合到C列来重新排列。B列是A列的15%。 具体地说是A1到C1,B1到C2,A2到C3,B2到C4等等。 最后我们得到一个直线形式的数据,它存在于C列中 示例C列的最终输出如下:C# 按Z字形顺序显示Excel数据?,c#,excel,C#,Excel,我们如何将A列和B列中存在的数据以之字形混合到C列来重新排列。B列是A列的15%。 具体地说是A1到C1,B1到C2,A2到C3,B2到C4等等。 最后我们得到一个直线形式的数据,它存在于C列中 示例C列的最终输出如下: A B C 1 10 1.5 10 2 20 3 1.5 3 30 4.5 20 4 40 6 3 5 50 7.5 30 4.5
A B C
1 10 1.5 10
2 20 3 1.5
3 30 4.5 20
4 40 6 3
5 50 7.5 30
4.5
40
6
50
7.5
试试C列中的这个公式<代码>=IF(MOD(ROW(),2)=1,A1,B1) ROW()返回当前行号,MOD()返回行的模数除以2,IF语句基本上说,如果我在偶数行上,使用列B,如果我在奇数行上,使用列A
通过将公式更改为
=IF(MOD(ROW(),2)=0,A1,B1)
或=IF(MOD(ROW(),2)=1,B1,A1)
试试这个<代码>=间接(地址(天花.MATH(ROW()/2),IF(MOD(ROW(),2)=1,1,2)) 对于2013年之前的Excel版本:
=INDIRECT(ADDRESS(CEILING(ROW()/2,1),IF(MOD(ROW(),2)=1,1,2)))
我们将行号除以2,并使用天花板将其四舍五入到最接近的整数。。。这意味着每向下移动两行,公式中的行只会增加1。。。然后,您只需重复使用前面的公式来计算从哪个列获取值
ADDRESS获取一行和一列,并为您提供相应的单元格地址,然后由INDIRECT使用。我尝试使用您的答案,但它跳过了一个单元格。我把问题弄清楚了,检查一下。