【发布时间】:2018-04-21 14:55:09
【问题描述】:
如果A1:A4范围内的数据如下:
Apple
Banana
Orange
Strawberry
然后INDEX 可用于单独返回该列表中的任何值,例如
= INDEX(A1:A4,3)
将返回Orange。
是否有类似的 Excel 函数或函数组合可以有效地让您执行以下操作:
= INDEX(A1:A4,{2;3})
哪个会返回数组{Banana;Orange}?
这是否可能(最好没有 VBA),如果可以,如何实现?即使使用辅助单元格,我也很难弄清楚如何做到这一点。
如果数据是数字(使用MMULT),我可以想出一个有点复杂的解决方案,但是数据是文本的事实让我感到困惑,因为MMULT 不适用于文本。
【问题讨论】:
-
简答,不。
-
@ScottCraner 长答案是“是的,使用 VBA”吗?
-
这很可能是正确的,但如果您详细说明您从什么开始以及您想在哪里结束,我们可能会找到替代方案。
-
那是因为我误解了你想要的。我想您希望能够选择列表的索引并将它们返回到可以在公式中使用的数组。如果我知道你想要连续的细胞,那么我会给出那个公式。但据我了解,您想要选择的能力,即“
=INDEX(A:A,{1,3}) and return {"Apple","Orange"}),这是不可能的。是的,您可以使用 INDEX 设置范围的开始和结束,我经常在回答问题时使用它。但又一次这不是你问的。以及为什么我试图从你那里获得更多信息。 -
@ScottCraner:是可以使用 INDEX 返回非连续单元格,如果您像我在答案的第二部分中所做的那样取消引用它。并不是说我可能会在 OFFSET 上使用它....
标签: arrays excel indexing excel-formula