如何根据可用键的数量和指示器值分配键?

如何根据可用键的数量和指示器值分配键?

我需要一些帮助来编写执行以下操作的公式:

  1. 查看指标是否=1
  2. 如果 indicator=1,则根据特定键的可用数字查找键值
  3. 继续查找其他值,使用该特定行使用过的键的历史记录
  4. 重置并重复下一行

举个例子:

COLUMN   A      B   C   D       E       F   G   H       I       J   K   L   M
         Row    Indicators      |       Matched Key     |       Key Counts          
           3    U1  U2  U3      |       U1  U2  U3      |       A   B   C   D
           4    1   0   1       |       B   N/A D       |       0   1   0   1   
           5    1   1   1       |       A   A   D       |       2   0   0   2  

我需要编写的公式用于“匹配键”部分。

从左边开始读取第 4 行:

  • U1 和 U3 都有指标,所以我进入关键计数表,发现有 1 个 B 和一个 D
  • “匹配密钥”中的 U1 获得“B”作为其密钥,“匹配密钥”中的 U3 获得 D。U2 未分配任何值,因为其指示器设置为 0。

在第 5 行:

  • U1、U2 和 U3 都需要按键分配。
  • 我查看“关键计数”,发现我有 2 个 A 和 1 个 D。
  • U1 和 U2 获得 A,U3 获得一个 D(会剩下一个)。

答案1

我能够使用数组公式来回答我自己的问题(此公式适用于单元格 H4):

{=IF(D4=1,OFFSET($I$2,0,COLUMN(INDEX(OFFSET($J$4,0, ( (MIN(IF((J4:M4>=1) *(J4:M4<>0)*(O4:R4>=SUM(B4:D4)),COLUMN(J4:M4)))-1))-COLUMN($I$2) ):$N$4,MATCH(TRUE,OFFSET($J$4,0,  ( (MIN(IF((J4:M4>=1) *(J4:M4<>0)*(O4:R4>=SUM(B4:D4)),COLUMN(J4:M4)))-1))-COLUMN($I$2)  ):$N$4>=1,0)))-COLUMN($I$4)),NA())}

我必须再添加一个用于累积计数的“矩阵”(在 O4:R5 范围内):

COLUMN  N     O    P   Q    R
        Row   Cumulative Counts         
          3    A    B   C   D
          4    1    2   4   4
          5    2    2   2   3

还有其他方法可以解决这一问题,但是这个对我有用。

相关内容