Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 按Z字形顺序显示Excel数据?_C#_Excel - Fatal编程技术网

C# 按Z字形顺序显示Excel数据?

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列来重新排列。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
                 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使用。

我尝试使用您的答案,但它跳过了一个单元格。我把问题弄清楚了,检查一下。