0

附上示例表截图,甚至粘贴在下面的评论中我正在尝试找到一个公式,它可以帮助我找到与 ID 一起使用的 4 个标准的结果平均值;公司名称; 使用 isnumber 搜索选项的代码和活动: 示例:包含来自提取的报告的详细信息的表格和格式并不总是相同:

ID 公司名称 代码 活动 结果
123 美国广播公司 XYZ。 国防军 MNO QRS X039.05.01X055.01.01
456 移动网络运营商 XYZ。 房车 105-税 108-FRA225-REC X019.01.01 75
235 美国广播公司 QRS 704-休息 X001.01.01 90
456 QRS XYZMNO GIJ 105-Tax201-欺诈 114-QURK X001.01.01 75

标准:

ID |Company Name|Code|Activity  | Result
456| MNO        | 105|X011.02.03| 75 avg of 75 75 = Average of rows 2 & 4 which has these details listed by using isnumber and average combinations

表可以有数千行并且格式不固定,因此使用 4 个条件从各个列中搜索来查找任何动态公式,以获得找到的结果的平均结果。

其相同的公司数据手动组合为年度信息,因此相同的标准多次可用,我们试图显示这些标准的平均结果

任何可以提供帮助的公式或宏都会有很大帮助,因为这是我的每月任务,并且需要花费太多时间才能找到平均结果

谢谢你的时间

问候苏雷什

4

1 回答 1

1

假设:

  1. 用户需要输入/选择四个“标准”的特定组合
  2. 平均值是满足所有这四个标准的分数(如果更少,分数不“有资格”被“平均”)

方法

您的每个标准都可以以 1 和 0 矩阵的形式进行评估,分别对应于“满足标准”和“不满足”。截图参考:

=IFERROR(SEARCH("*"&B15:E15&"*",B5:E8),)

Excel 中的描述 - 灰色框

现在需要取平均值作为对应于一行“1”(灰色阴影框)的分数。例如,第一行 (0,0,0,1) 对应分数为 90;此行至少包含一个“0”,因此忽略 90。第二行包括四个 1 的完整行,因此在“平均”计算中“计算”为 100……等等。

解决方案

我想不出一种有效/简约的​​方式来组合这些计算。因此,您需要的标准越多,“单细胞”方程的版本就越长。我相信有一个更快的方法,希望这个解决方案。会在这方面激发一些创造性思维☺</p>

幸运的是,虽然它很长,但由于方程式的“必要”重复,它相对简单:

1] 平均值需要以老式的方式计算,在分子中使用总和,在分母中使用计数(否则,使用这种结构,使用简单的“平均”等式将计算/平均任何“0”我们不想要)。因此,分母实际上与分子相同。

2] 如前所述,有四个标准,分子包括基于上述第一个公式的四个相似数组

=SUM(($F$5:$F$8*IFERROR(ISNUMBER(SEARCH("*"&E15&"*",$E$5:$E$8)),)*IFERROR(ISNUMBER(SEARCH("*"&D15&"*",$D$5:$D$8)),)*IFERROR(ISNUMBER(SEARCH("*"&C15&"*",$C$5:$C$8)),)*IFERROR(ISNUMBER(SEARCH("*"&C15&"*",$C$5:$C$8)),)*(IFERROR(ISNUMBER(SEARCH("*"&B15&"*",B$5:B$8)),))*IFERROR(ISNUMBER(SEARCH("*"&B15&"*",B$5:B$8)),)))/ SUM(1*((IFERROR(ISNUMBER(SEARCH("*"&E15&"*",$E$5:$E$8)),)*IFERROR(ISNUMBER(SEARCH("*"&D15&"*",$D$5:$D$8)),)*IFERROR(ISNUMBER(SEARCH("*"&C15&"*",$C$5:$C$8)),)*IFERROR(ISNUMBER(SEARCH("*"&C15&"*",$C$5:$C$8)),)*(IFERROR(ISNUMBER(SEARCH("*"&B15&"*",$B$5:$B$8)),))*IFERROR(ISNUMBER(SEARCH("*"&B15&"*",B$5:$B$8)),))=1))

谷歌表,在这里。场景 1 和 2 的插页示例。

于 2021-06-04T15:38:07.307 回答