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()))