【问题标题】:Excel: Sort column to match values of another columnExcel:对列进行排序以匹配另一列的值
【发布时间】:2020-06-12 18:44:08
【问题描述】:

我遇到了一个有 4 列的 Excel 表的问题,其中两列相互依赖,因为 A 列是名称,B 列是数量,C 列和 D 列也是如此。

Table
==========================================
A            B             C             D
Apple        54            Banana        12
Peanut        6            Pineapple      4
Cranberry   112            Cherry        40
Cookie        3            Peanut         4
Banana        2            Cranberry      5
Peach         3            Almond        10
Cherry        5               
Cheese       10

我想要得到的是,C 列的每个内容以及 D 列中的数量都将与它们在 A 列中的匹配部分放在同一行中,这样我就可以比较 B 和 D 之间的数量。所有值都带有没有匹配的伙伴应该放在底部或者只是一个空表,所以我知道没有匹配。

它的外观示例:

Table
==========================================
A            B             C             D
Apple        54            
Peanut        6            Peanut         4
Cranberry   112            Cranberry      5
Cookie        3            
Banana        2            Banana        12
Peach         3            
Cherry        5            Cherry        40 
Cheese       10            
                           Almond        10
                           Pineapple      4

【问题讨论】:

  • 将您的第二个数据集移动到几列,然后使用 VLOOKUP 引用该数据,使其按顺序恢复。

标签: excel sorting excel-formula


【解决方案1】:

这应该可以解决您的问题:=VLOOKUP(C2;$A$2:$B$9;2;TRUE) 您只需将其添加为电子表格中的“E”列并将其向下拖动即可比较值。

【讨论】:

    【解决方案2】:

    Col A 保持原样。 Col B 保持原样。 Col C 移动到 Col E。 Col D 移至 Col F。

    新的 C 列,单元格 C1 = =IFS(AND(A1<>"",(COUNTIF($E$1:E, A1)=1)=TRUE),A1,AND(A1<>"",(COUNTIF($E$1:E, A1)=1)=FALSE),"",A1="",ArrayFormula(INDEX($E$1:E,SMALL(IF(ISERROR(MATCH($E$1:E,$A$1:A,0)),(ROW($E$1:E)-MIN(ROW($A$1:A))+1),""),SUM(ROW(1:1)-COUNTA($A$1:A1))))))

    从 C1 复制下来

    新的 D 列,单元格 D1 = =IF(C1="","",VLOOKUP(C1,$E$1:F,2,FALSE))

    注意:我是在 Google 表格中写的,所以当我输入 ctrl + shift + enter 时,它会将其转换为 ArrayFormula()。您将需要以 excel 方式执行数组公式 - ctrl + shift + enter 并删除 ArrayFormula()

    请随时在工作表中查看此内容 - https://docs.google.com/spreadsheets/d/10hygbPyzj7L1u77izejoeGriaquoZ_omp49pCJ2U7uE/edit?usp=sharing

    如果要导出工作表。右键单击“工作表 1”选项卡,转到“复制到”和“新电子表格”

    有任何问题,请告诉我:)

    【讨论】:

    • @Ves 这个解决方案可行吗?
    • 您好,我使用的是 Excel 2010,这可能是您的某些代码对我不起作用的原因。我的 Excel 版本不允许使用逗号,而是使用分号。带有``` ctrl + shift +enter```的ArrayFormula的整个部分似乎对我不起作用。你的工作表的链接对我不起作用。您能否提供另一个链接,以便我查看并了解它的工作原理?
    • Excel 2010 中不存在 IFS 函数。我不知道为什么,但我不得不重新批准链接共享。请再试一次,它应该可以工作了。
    • 在家里,我只有google sheet,我看看能不能在周一早上(英国时间)给你修改excel中的公式。所以它适用于你的版本。同时,请重新检查链接,看看您是否对可能的最终结果感到满意 :)
    猜你喜欢
    • 1970-01-01
    • 2015-10-11
    • 1970-01-01
    • 1970-01-01
    • 2020-02-03
    • 1970-01-01
    • 2014-10-13
    • 2014-07-27
    • 2021-12-04
    相关资源
    最近更新 更多