如何在INDEX(SMALL(IF基于多个条件或仅基于用户输入几个条件的情况下)中创建AND / OR?

时间:2019-04-03 17:11:30

标签: excel excel-formula

我目前面临的问题是,我有三个下拉选项,RaceCategoryLevel每个都有不同的分类。对于此示例,列表的分类如下:

Race      Category        Level
Druid    Transmutation    Cantrip
Cleric    Abjuration      Level 1
          Conjuration     Level 2

为澄清起见,这3项只是供用户选择的列表。目前,我可以让用户选择RaceCategory来显示给定RaceCategory的所有信息。但是,如果用户只想使用RaceLevelRaceCategoryLevel,那是我创建时遇到的麻烦一个可以正常使用的数组。

此示例中的第一张纸如下所示: Sheet1 如您所见,当前代码非常适合RaceCategory选择。代码如下:

{=IFERROR(INDEX(Sheet2!$A:$H,SMALL(IF(COUNTIF($C$1,Sheet2!$A:$A)*COUNTIF($E$1,Sheet2!$B:$B),ROW(Sheet2!$A:$H)-MIN(ROW(Sheet2!$A:$H))+1),ROW(A1)),COLUMN(A1)),"")}

“查找”选项卡如下所示: Lookup Tab

我尝试了几种尝试让用户选择RaceCategoryLevel / RaceCategory / {{1 }}和Race,但运气不佳,要么给我一个空白(由于我有Level语句,要么给我每一列的标题。我尝试的代码如下:

IFERROR

并且:

{=IFERROR(INDEX(Sheet2!$A:$H,SMALL(IF(AND(COUNTIF($C$1,Sheet2!$A:$A),OR(COUNTIF($E$1,Sheet2!$B:$B),COUNTIF($G$1,Sheet2!$D:$D))),ROW(Sheet2!$A:$H)-MIN(ROW(Sheet2!$A:$H))+1),ROW(A1)),COLUMN(A1)),"")}

但是两者都无法达到我想要达到的目标。

我要寻找的最终结果是使用户能够选择{=IFERROR(OR(INDEX(Sheet2!$A:$H,SMALL(IF(COUNTIF($C$1,Sheet2!$A:$A)*COUNTIF($E$1,Sheet2!$B:$B),ROW(Sheet2!$A:$H)-MIN(ROW(Sheet2!$A:$H))+1),ROW(A1)),COLUMN(A1)),INDEX(Sheet2!$A:$H,SMALL(IF(COUNTIF($C$1,Sheet2!$A:$A)*COUNTIF($G$1,Sheet2!$D:$D),ROW(Sheet2!$A:$H)-MIN(ROW(Sheet2!$A:$H))+1),ROW(A1)),COLUMN(A1)),INDEX(Sheet2!$A:$H,SMALL(IF(COUNTIF($C$1,Sheet2!$A:$A)*COUNTIF($E$1,Sheet2!$B:$B)*COUNTIF($G$1,Sheet2!$D:$D),ROW(Sheet2!$A:$H)-MIN(ROW(Sheet2!$A:$H))+1),ROW(A1)),COLUMN(A1))),"")} RaceCategory /或者Level和{{1} }(将Race保留为空白)或CategoryLevel(将Race保留为空白)这样,用户可以控制他们希望如何查看自己想要的信息,而不必仅限于LevelCategory

任何帮助将不胜感激!

-Maykid

0 个答案:

没有答案