具有多个条件的动态清单

我有一个动态清单,可以根据多个条件更改显示的问题。它可以工作,但是我希望有一种更有效的方法,尤其是在标准增加的情况下。

示例:

假设有两个条件可以是“ Y”或“ N”。设置检查清单A上的参数,以便仅显示具有Criteria1 = Y和Criteria2 = N的问题。

问题1为[是,否],应显示。

问题2不是[Y,N],因此不应显示。

问题3不是[Y,N],因此不应显示。

问题4为[是,否],应该显示。

因此,清单A显示:

Question1

问题4

不存在一个紧随其后的问题,例如Question2和Question3。

我目前使用每种可能性(Y / Y,Y / N,N / Y,N / N)的辅助列计数(参数匹配)来工作。然后对每一行进行查找。 (在上面的示例中,对于清单A中的第二个问题,它基于“ 2”在“是/否”列上进行查找,并为第二个“显示的”问题拉出Question4。)

它运行良好,可以根据参数立即“制造” /更改200行清单。但是,我希望有一种比创建列来计算所有可能组合的更好的方法。

是否存在一些公式组合来确定Y / N的第二个组合是第4行?几乎就像=> COUNTIFS(用于指定参数)= 2是哪一行?

也许是行/县组合?一些数组公式/ SUMPRODUCT?

lzq0809 回答:具有多个条件的动态清单

我用INDEX,SMALL和COUNTIFS弄清楚了:

IF(A13 = 0,“”,INDEX(MAIND,SMALL(IF(COUNTIFS(A13,INDEX(MAIND,MATCH(A13,NCT,0))),B13,INDEX(MAIND,MATCH(B13, NCT,0)),C13,INDEX(MAIND,MATCH(C13,NCT,0)),D13,INDEX(MAIND,MATCH(D13,NCT,0))),BaseQuestions!$ A $ 1:$ A $ 316 ,“”),COUNTIF(B $ 12:B13,B13))+ ROW(CAQ)-1,COLUMN(IQ)))

参数在A,B,C和D列中,从第13行开始。MAIND是一个范围名称,其中存在“问题”和“包含/排除”切换。 NCT是用于确定要在MainD中查找哪一列的标题。 CAQ是“问题”列表的顶部。 IC是包含问题的列。

COUNTIFS对MainD中的行进行计数,其中切换列表都与A,B,C和D列中的参数匹配。切换列表中的每一列都包含参数值(如果应该显示该问题)或“ xx” ”(实际上可以是参数值的)。然后,Small函数会选择与所有条件匹配的第n个问题(A-D中的参数),其中n是A-D匹配中参数的数量。因此,在动态问卷的第9行中,它显示了MainD中与A-D匹配的MainD第9行中的问题。

本文链接:https://www.f2er.com/3107600.html

大家都在问