Excel不会返回与Google表格相同的值

时间:2017-08-31 08:08:13

标签: excel google-sheets

我的这个公式适用于Google表格:

=IF(ISERROR(
INDEX(Students!$A:$H,SMALL(IF(Students!$G:$G=$B$1,ROW(Students!$G:$G)),ROW(1:1)),C$1)),"DELETE",
INDEX(Students!$A:$H,SMALL(IF(Students!$G:$G=$B$1,ROW(Students!$G:$G)),ROW(1:1)),C$1))

它返回一个基于B1的可拖动学生列表(C1选择列)

但是,当我从Google表格下载.xlsx并在MS Excel中打开时,它不会返回学生。它返回1行(标题),没有别的。 是什么导致它?

编辑:添加了快照 snapshot

enter image description here

2 个答案:

答案 0 :(得分:2)

简短的回答是,您必须将其作为Excel中的数组公式(此处显示一些虚拟数据)

enter image description here

但你刚刚获得第一行的原因不太明显(无论如何对我来说)

当你有一个范围并在公式中使用它时,如= G:G,Excel会根据你放置公式的位置选择一个不同的单元格(我忘记了这个机制被调用了什么?)所以在这种情况下公式为B2从学生中获得6个忠诚度!G2和IF语句给出TRUE,你得到最小的(行)1,只有1,所以你得到第一行。如果你试图获得第二小的,你最终会出错。

答案 1 :(得分:2)

这是一个数组公式,Google可以在不明确使用 ARRAYFORMULA 的情况下识别,而Excel则不然。您需要使用 CTRL 输入公式 + SHIFT + 输入。如果你做得正确,公式应该自动括在花括号 { } 中。