Excel 具有两种不同范围和条件的CountIf

Excel 具有两种不同范围和条件的CountIf,excel,excel-formula,Excel,Excel Formula,我有一张表,我需要从中计算具体数字的数量 该表是动态的,可以有1到25列,其中数字为,然后是以字母1或2开头的代码。它也有多行 我需要的是,如果代码以正确的字符开头(如示例图像所示),则需要有公式来计算每个特定数字范围的数量: 我无法将第一个范围介于2个数字和以特定字符开头的第二个范围的情况合并 公式应类似于此(以2开头的代码计算200到299之间的数字): =COUNTIFS(表[[1]:[4]];“>=200”;表[[1]:[4]];”将其放入F3,然后反复复制: =IFERROR(SUM

我有一张表,我需要从中计算具体数字的数量

该表是动态的,可以有1到25列,其中数字为,然后是以字母1或2开头的代码。它也有多行

我需要的是,如果代码以正确的字符开头(如示例图像所示),则需要有公式来计算每个特定数字范围的数量:

我无法将第一个范围介于2个数字和以特定字符开头的第二个范围的情况合并

公式应类似于此(以2开头的代码计算200到299之间的数字):


=COUNTIFS(表[[1]:[4]];“>=200”;表[[1]:[4]];”将其放入F3,然后反复复制:

=IFERROR(SUMPRODUCT((Table[[1]:[4]]>=--LEFT(B3,3))*(Table[[1]:[4]]<=--RIGHT(B3,3))*(((ISNUMBER(F$2))*(LEFT(Table[[code]:[code]])=F$2&""))+((NOT(ISNUMBER(F$2)))*(NOT(ISNUMBER(LEFT(Table[[code]:[code]]))))))),"")

=IFERROR(SUMPRODUCT((表[[1]:[4]]>=--左(B3,3))*(表[[1]:[4]]=400)*(表[[1]:[4]]]将其放在F3中,然后反复复制:

=IFERROR(SUMPRODUCT((Table[[1]:[4]]>=--LEFT(B3,3))*(Table[[1]:[4]]<=--RIGHT(B3,3))*(((ISNUMBER(F$2))*(LEFT(Table[[code]:[code]])=F$2&""))+((NOT(ISNUMBER(F$2)))*(NOT(ISNUMBER(LEFT(Table[[code]:[code]]))))))),"")

=IFERROR(SUMPRODUCT((表[[1]:[4]]>=--LEFT(B3,3))*(表[[1]:[4]=400)*(表[[1]:[4]]使用LEFT(值,1)开始。使用Find和mid以及len和right/LEFT来查找“-"将>=左边的数字提取出来,右边的数字提取出来,得到@QHarr你能再详细一点吗?我很困惑。如果没有我们可以复制和粘贴的实际数据的支持插入,请不要发布数据的图像。我不想把它打印出来。其他人可能会这样做。@QHarr编辑过,如果有帮助的话。问题是字母,你可能会ed转换为SUMPRODUCT。使用left(值,1)开始。使用Find、mid和len以及right/left查找“-”将>=左边的数字提取出来,右边的数字提取出来,得到@QHarr你能再详细一点吗?我很困惑。如果没有我们可以复制和粘贴的实际数据的支持插入,请不要发布数据的图像。我不想把它打印出来。其他人可能会这样做。@QHarr编辑过,如果有帮助的话。问题是字母,你可能会ed想换成SUMPRODUCT。无法实现这一点,但我想我也需要更好地解释。左上角的表格直观地解释了真正的表格(右上角)用作条件进行计数。我知道如何使公式在两个数字之间进行计数。我不知道的是如何添加额外的条件来检查代码的第一个字母。因此,为了更容易理解,让我们假设只有底部的表,带有数字的列是x,带有代码的列是y。我如何才能nt x上的数字在400到499之间,代码以2开头?无法实现这一点,但我认为我也需要更好地解释。左上表是实际表的直观解释(右上)用作条件进行计数。我知道如何使公式在两个数字之间进行计数。我不知道的是如何添加额外的条件来检查代码的第一个字母。因此,为了更容易理解,让我们假设只有底部的表,带有数字的列是x,带有代码的列是y。我如何才能nt x上的数字介于400和499之间,代码以2开头?
=SUMPRODUCT((Table[[1]:[4]]>=400)*(Table[[1]:[4]]<=499)*(LEFT(Table[[code]:[code]])="2"))