【问题标题】:Extract value in a row, obtained from the count of entries, based of a name根据名称从条目计数中获取一行中的值
【发布时间】:2019-08-19 10:19:22
【问题描述】:

基本上,我在 A 列中有一个名称列表,在下一个 (B) 列中有一个值。名称在 A 中不断重复。我希望能够为列出的每个名称提取一个特定的数字。我要查找的每个名称的数字应该是位于该名称下条目总数的第 90 个百分位以下的那个。基本上,不是找到的第一个或最后一个数字,而是位于特定行中的数字,考虑到我们应该只计算显示特定人姓名的行,而不是其他任何人。

我正在尝试将 INDEX 与 VLOOKUP 一起使用,使用 ROUND 获取行,但是,此公式根据整个数组返回行号,而不是根据特定名称的计数。

看起来像这样...https://ibb.co/kSm9Y5S。例如,这个想法是,对于来自 Edgar 的所有值,返回行下的一个(0.9*(1+ Edgar 显示的条目数)。所以,如果 Edgar 有 10 个条目,我想返回位于行下的值数字 0.9*(10+1),不计算 Edgar 不是条目的行。在这种情况下,我只希望计算 Edgar 的条目,并返回 Edgar 在其第 90 个百分位以下显示的值。

我的公式如下所示:

=index(A:B,Round(0.9*(1+vlookup(countif(A:A,"Edgar"),A:D,4,0))),2)

此公式有效,但返回工作表特定行中的值,而不是基于 Edgar 仅有的条目的特定行。

【问题讨论】:

  • 请复制您的表格文件,删除所有敏感信息,将其分享给“知道该链接的任何人”,然后在此处添加该链接。

标签: javascript google-sheets


【解决方案1】:

我希望所有问题都显示出这种事先的努力——你基本上已经在那里了。干杯!

我创建了另一个新标签“报告”,并将示例公式放在那里。首先,它只列出了它可以找到的所有名称(“所有者”)。

=UNIQUE(Sheet1!A2:A)

然后,(如果 A 不为空),它会进行您的数学运算,但会索引到 FILTER-result 数组,而不是直接索引到 所有 Owner 值的列表中。

=IF(NOT(LEN(A2)),"",INDEX(
  FILTER(Sheet1!C$2:C,Sheet1!A$2:A=A2),
  ROUND(0.9*(1+COUNTIF(Sheet1!A$2:A,A2)),1)
))

由于 COUNTIF,我无法将其放入 ARRAYFORMULA,但将其拖动到列中可以正常工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-05
    • 2021-11-26
    • 2022-01-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多