Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 根据名称提取行中的值,从条目计数中获取_Javascript_Google Sheets - Fatal编程技术网

Javascript 根据名称提取行中的值,从条目计数中获取

Javascript 根据名称提取行中的值,从条目计数中获取,javascript,google-sheets,Javascript,Google Sheets,基本上,我有一张表,a列中有一个名称列表,下一列(B)中有一个值。名称在A中不断重复。我希望能够为列出的每个名称提取一个特定的数字。我要找的每个名字的数字应该是位于该名字下条目总数第90个百分位下的那个。基本上,不是找到的第一个或最后一个数字,而是位于特定行中的数字,考虑到我们应该只计算显示特定人员姓名的行,而不是其他任何人的行 我尝试使用带有VLOOKUP的INDEX,用ROUND获取行,但是,这个公式返回的行号基于整个数组,而不是特定名称的计数 看起来像这样。例如,对于来自Edgar的所有值

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

我尝试使用带有VLOOKUP的INDEX,用ROUND获取行,但是,这个公式返回的行号基于整个数组,而不是特定名称的计数

看起来像这样。例如,对于来自Edgar的所有值,返回行下的值(0.9*(Edgar显示的1+条目数)。因此,如果Edgar有10个条目数,我想返回行号0.9*(10+1)下的值,而不计算Edgar不是条目的行。在这种情况下,我只希望计算Edgar的条目,并返回Edgar在其第90百分位下显示的值

我的公式如下:

=指数(A:B,四舍五入(0.9*(1+vlookup,countif(A:A,“埃德加”),A:D,4,0)),2)


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

我希望所有问题都显示出您基本上已经做到了。干杯

我做了另一个新的选项卡,Report,并把我的示例公式放在那里。首先,它只列出了它能找到的所有名称(“所有者”)

=UNIQUE(Sheet1!A2:A)
然后,(如果A不是空的),它进行计算,但是索引到一个结果数组中,而不是直接索引到所有所有者值的列表中

=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的原因,我无法将其放入数组公式中,但将其拖到列下复制效果良好。

请复制您的工作表文件,删除所有敏感信息,将其共享给“有链接的任何人”,然后将该链接添加到此处,