Excel中满足不同条件函数取值。

Excel中满足不同条件函数取值。,第1张

在sheet2的c3中输入或复制粘贴此公式

=sumproduct((sheet1!$b$3:$b$999=$a3)(sheet1!$c$3:$c$999=$b3)(sheet1!$a$3:$a$999=c$2)sheet1!$d$3:$d$999)

右拉填充,下拉填充

如果是2003以上版本,还可用如下公式

=sumifs(sheet1!d:d,sheet1!b:b,$a3,sheet1!c:c,$b3,sheet1!a:a,c$2)

1、在打开的excel表格中根据分类输入两组数据,需要将这两组数据使用vlookup函数提取到另外一张表格中。

2、打开另一张表格,可以看到年份与第一张表格的顺序是不同的,需要根据年份提取出数据,输入提取函数:=VLOOKUP(A2,Sheet1!A2:C7,2,FALSE),点击回车。

3、得到提取的数据后向下填充公式即可根据年份提取出第一组数据了。

4、使用相同的公式,将返回值更改为“3”,公式:=VLOOKUP(A2,Sheet1!A2:C7,3,FALSE)。

5、即可得到第二组提取的数据,实现满足两个条件的匹配提取 *** 作。

你看是不是这种结果:

函数这么写的:

=IF(AND(B2>=INT(LEFT(A2,FIND("~",A2)-1)),B2<=INT(RIGHT(A2,LEN(A2)-FIND("~",A2))))=FALSE,0,B2)

使用函数:

find("字符",值)   获取~符号位置

int(字符)    将字符型数字转换成真正的数字

left,right,len我就不介绍

and(表达式1,表达式2)=true 并列条件

if(表达式,表达式成立的值,不成立的值)   条件取值

函数较多,另外一种方法就是使用VBA自定义一个函数,我们先新建一个模块

插入函数

'///condition//条件字符串

'///data//存放数据的单元格

Public Function get_value(condition As Range, data As Range)

  Dim min, max '//定义最小值、最大值、数组

  min = Int(Split(Trim(conditionFormula), "~")(0))

  max = Int(Split(Trim(conditionFormula), "~")(1)) '//存储切割着两个值转换格式

  Dim da

  da = Round(Trim(dataFormula), 3) '//获取data里面的值,格式化,取保留三位小数

  If da >= min And da <= max Then '//如果da在min和max之间就取自己的值,如果不是就是0

     get_value = da

  Else

     get_value = 0

  End If

End Function

我们再回去看看函数是否生效

为啥不行了呢?

原因是VBA取值着rangeFormula这玩意是单元格字表值,你选择了公式,他就是公式自己写法,不会换算成值的,修改一下:

以上是用EXCEL自身函数和VBA自定义函数,仅供参考!

1满足条件也可以分两种情况:

1)同时满足多个条件;

2)满足多个条件中的一个或若干个即可。

以下图的数据来举例说明。

2首先,利用AND()函数来说明同时满足多个条件。

举例:如果A列的文本是“A”并且B列的数据大于210,则在C列标注“Y”。

3在C2输入公式:

=IF(AND(A2="A",B2>210),"Y","")

知识点说明:

AND()函数语法是这样的,AND(条件1=标准1,条件2=标准2……),每个条件和标准都去判断是否相等,如果等于返回TRUE,否则返回FALSE。只有所有的条件和判断均返回TRUE,也就是所有条件都满足时AND()函数才会返回TRUE。

4然后,利用OR()函数来说明只要满足多个条件中的一个或一个以上条件。

举例:如果A列的文本是“A”或者B列的数据大于150,则在C列标注“Y”。

5在C2单元格输入公式:

=IF(OR(A2="A",B2>150),"Y","")

知识点说明:

OR()函数语法是这样的:OR(条件1=标准1,条件2=标准2……),和AND一样,每个条件和标准判断返回TRUE或者FALSE,但是只要所有判断中有一个返回TRUE,OR()函数即返回TRUE。

6以上的方法是在单个单元格中判断,也可以写成数组公式形式在单个单元格中一次性完成在上述例子中若干个辅助单元格的判断。

1、在G2单元格输入公式:

=OFFSET($A$2:$C$17,MATCH(E2&F2,$A$2:$A$17&$B$2:$B$17,0)-1,2,1,1)

数组公式,按:Ctrl+Alt+Enter 三键结束;

见图一

2、选中G2,下拉填充G列,实际结果:

见图二

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/langs/13492708.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2025-09-01
下一篇2025-09-01

发表评论

登录后才能评论

评论列表(0条)

    保存