通过索引匹配排序

问题描述 投票:0回答:1

我在Excel 2016中使用这个公式,所以它没有排序功能。

=IFERROR(INDEX($F$41:$F$500, MATCH(SMALL(IF(COUNTIF($J$1:J1,$F$41:$F$500)=0,COUNTIF($F$41:$F$500,"<"&$F$41:$F$500),""),ROW(1:1)),COUNTIF($F$41:$F$500,"<"&$F$41:$F$500),0)),"")

希望从单元 J2 而不是 J22 开始。我相信这是因为我的公式需要排除空白单元格,但事实并非如此。此外,由于某种奇怪的原因,该公式遗漏了一些数据。 我在 B2:B35 列中有 J2:J35 应该是什么样子。突出显示的是 J2:J35 公式中还应显示的内容。

这是它的链接。 https://1drv.ms/x/s!AgYDS7saPf0DhsYpr01N9vmZhFUtCQ?e=n7wz6Z

正如您在这些图像中看到的,引用的单元格未排序并且有空白。我需要公式来排序和删除空格。谢谢!

Formula

References

excel-formula formula array-formulas excel-2016
1个回答
0
投票

该公式未按预期工作,因为该方法用于没有重复的输入。


在 Excel for Microsoft 365 中轻松获取唯一项目的排序列表:

=SORT(UNIQUE(TOCOL(_0_unsorted_input,1)))

由于这些函数在 Excel 2016 中不可用,因此需要执行一些临时步骤。这是一种方法:

  • 消除重复项:

    • 索引修剪输入

    • 使用

      FREQUENCY
      选择唯一值

  • 使用

    COUNTIF

    按字母顺序排列修剪后的唯一输入
  • 删除空白

作为第二步删除空白可以工作,但它需要手动选择临时范围 - 所以我选择了这个顺序。

已用名称管理器

定义范围和公式的名称可以轻松遵循步骤并排除故障。因此定义了以下名称(公式>名称管理器>新建)

姓名 指:
_0_unsorted_input =Sheet1!$B$4:$B$500 替换为您的输入范围
_0i_输入_索引 =ROW(_0_unsorted_input) - (ROW(INDEX(_0_unsorted_input, 1, 1))) + 1
_1_修剪_输入 =TRIM(_0_unsorted_input)
_2_匹配 =匹配(_1_trimmed_input,_1_trimmed_input,0)
_3_频率 =频率(_2_匹配,_2_匹配)
_4_uniq =INDEX(_1_trimmed_input,_5_uniq_index)
_4_uniq_范围 =Sheet1!$D$4:$D$500 与输入行数相同的范围
_5_uniq_index =IF((_0_unsorted_input <> """") * (_3_freq),_2_matched,"""")
_6_countif_less_than =IF((_4_uniq_range = "") + ISERROR(_4_uniq_range),"",
COUNTIF(_4_uniq_range,"<" & _4_uniq_range))
_7_排序_索引 =小(IF(ISERROR(_4_uniq_range),"",_6_countif_less_than),_0i_input_index)
_8_临时_排序 =INDEX(_4_uniq_range,MATCH(_7_sorted_index,_6_countif_less_than,0))
_8_interim_sort_range =Sheet1!$E$4:$E$500 与输入行数相同的范围
_9_已排序 =INDEX(_8_interim_sort_range,1,1):INDEX(_8_interim_sort_range,MATCH(TRUE,ISERROR(_8_interim_sort_range),0)-1,1)

使用

COUNTIF
的步骤以及删除空格的最后一步需要输入范围。因此,输入这些步骤的公式和最终结果的公式,以下是示例的输入方式:

这些是数组公式,需要使用 Control + Shift + Enter

输入
细胞 公式
D4,选择 D4:D500 =
_4_uniq
E4,选择E4:E500 =
_8_interim_sort
F4 =
_9_sorted

我已在 Excel for Microsoft 365 下对此进行了测试 - 明天将在 Excel 2016 下进行测试。

Name Manager

Result

© www.soinside.com 2019 - 2024. All rights reserved.