注册 登录
编程论坛 Excel/VBA论坛

请求数阵中的泛对角线上的数的公式求法

fdxxhjc 发布于 2022-01-19 13:48, 1457 次点击
1    2    3    4    5    6    7    8
9    10    11    12    13    14    15    16
17    18    19    20    21    22    23    24
25    26    27    28    29    30    31    32
33    34    35    36    37    38    39    40
41    42    43    44    45    46    47    48
49    50    51    52    53    54    55    56
57    58    59    60    61    62    63    64
有一个8行8列的数阵(一般而言都是n行n列(n>=3)),对于左上右下和左下右上的二条长的对角线现在可以用公式来求=INDEX($A1:$H8,COLUMN(A1),COLUMN(A1))和=INDEX($A1:$H8,9-COLUMN(A1),COLUMN(A1)),并求得的形式如下:
1    2    3    4    5    6    7    8
9    10    11    12    13    14    15    16
17    18    19    20    21    22    23    24
25    26    27    28    29    30    31    32
33    34    35    36    37    38    39    40
41    42    43    44    45    46    47    48
49    50    51    52    53    54    55    56
57    58    59    60    61    62    63    64
                           
1    10    19    28    37    46    55    64
57    50    43    36    29    22    15    8
但现在想用类似的公式求出泛对角线(也叫折断对角线),如 9    18    27    36    45    54    63    8
17    26    35    44    53    62    7    16
 ,等等,那该用怎样的公式呢,谢谢先生
1 回复
#2
wxj3110002022-02-16 11:54
加一个判断即可。

以左上右下为例:
【长对角线】的行数是:12345678;
【折断对角线】的行数是:34567812;

那么思路是:判断是否大于8,如果大于8,那么减去8。
INDEX($A1:$H8,IF(COLUMN(A1)+2>8,COLUMN(A1)+2-8,COLUMN(A1)+2),COLUMN(A1))



1