Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.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
Excel中索引的替代方法_Excel - Fatal编程技术网

Excel中索引的替代方法

Excel中索引的替代方法,excel,Excel,我有以下公式: =iferror(index(A25:A50,A1), true) A1=0和26之间的任意数字 如果传递的row_num参数为0,index返回整个数组。是否有类似的方法传递数组和row_num,并从该行获取值,如果row_num为0,则返回错误 我尝试使用indirectA&A1+25,如果A1=0,它会返回一个错误,但是我必须加上25,这样我就永远不会有0,这是行不通的 我还尝试了另一种方法: =iferror(hlookup(index(A25:A50,1),A25:A

我有以下公式:

=iferror(index(A25:A50,A1), true)
A1=0和26之间的任意数字

如果传递的row_num参数为0,index返回整个数组。是否有类似的方法传递数组和row_num,并从该行获取值,如果row_num为0,则返回错误

我尝试使用indirectA&A1+25,如果A1=0,它会返回一个错误,但是我必须加上25,这样我就永远不会有0,这是行不通的

我还尝试了另一种方法:

=iferror(hlookup(index(A25:A50,1),A25:A50,A1,false),true)
然而,缺点是A25:A50的重复次数。这只是我最后一个公式中的一部分,其中A25:A50和A1将被一个很长的公式所取代,所以我至少可以更好地重复它


基本上,我在寻找一种替代索引的方法,或者使用索引根据行数查找数组中行的值的方法,如果传递的行数为0,则返回一个错误。

=iferrorindexA25:A50,A1+1,true提供A25:A50中的值,其中A1=0和25之间的任何数字A25中有26个可能的值:A50@Jeeped说得好。我更新了我的问题是的,这确实有效。你知道不必重复A1两次的方法吗?在我的最后一个公式中,A1和A25:A50将是我自己的很长的公式,如果我将来不得不更新公式的某些部分,为了连续性起见,我不想输入两次。酷…你能把我的答案标记为接受吗。是的,你必须重复A1两次。只需将A1的长逻辑保存在单独的单元格中,就像您发布的实际示例一样。
=INDEX(A25:A50,IF(A1>0,A1,NA()))