作表中有多列,其中有些列的值是相同的,我们要找到同时符合几列条件的值。例如下图所示的工作表,列A中是学生姓名,有重复,列B中是科目,列C中是考试成绩。现在,我们需要找出某学生的某科目的成绩。
例如,要找出张三的物理成绩。在工作表中,一眼就可以看出是80,但是如果学生多了呢?就不好找了!
如何使用公式找出张三的物理成绩?
先不要看下面的答案,自已试一试。
公式思路
将列A和列B的值结合,用作供搜索的具有不重复值的列表;将张三和物理结合,用作搜索的字符串。找出行号后,其对应的列C中的值即为成绩。
公式解析
解法1:使用辅助列 普通公式
在单元格F2中输入公式:
=A2&B2
下拉填充公式,得到供搜索的具有不重复值的列表,如下图所示:
将Excel矩形数据区域转换成一行或者一列
将工作表中矩形数据区域转换成一行或者一列。例如将下图所示的名为Data的区域: 转换成单独的一列: 或者单独的一行: 先不要看下面的答案,自已可以先想一想如何实现? 公式思路 获取数据所在的行号和列号,然后提取行列号所在单元格中的数据。 公式解析 按行顺序将区域中的数据转换成单独的一列 在单
在单元格H2和I2中放置要查找的值,那么在单元格H4中输入查找公式为:
=INDEX(C2:C15,MATCH(H2&I2,F2:F15,0))
结果如下图所示:
MATCH函数在单元格区域F2:F15中搜索由H2和I2组合的字符串,得到相匹配的值所在的行号,INDEX函数在区域C2:C15中找到相应行的值。
解法2:使用数组公式
在单元格H4中输入数组公式(公式输入完后要按Ctrl Shift Enter组合键):
=INDEX(C:C,MATCH(H2&I2,$A$1:$A$15&$B$1:$B$15,0))
结果如下图所示:
公式中:$A$1:$A$15&$B$1:$B$15将得到下面的数组:{“学生姓名科目”;”张三语文”;”张三数学”;”张三英语”;”张三物理”;”张三化学”;”张三生物”;”李四语文”;”李四数学”;”李四英语”;”李四物理”;”李四化学”;”李四生物”;”王五语文”;”王五数学”},MATCH函数在上述数组中查找H2&I2的值即“张三物理”,得到行号,再将其作为INDEX函数的参数在列C中找到符合条件的值80。
小结
在编写公式时,往往不是一帆风顺的,总会有这样那样不满足基本函数的情形。然而,加上一些技巧,就可以化解这样的难题。本例中,列A中有重复值,但是将列A和列B合并后的列表就没有重复值了,接着将要查找的值合并后再查找,即可得到所需结果。
Excel求连续数据之和的最大值
求连续N个数据中所有连续M个数据之和的最大值。 下图所示。 在单元格B5中,给出了一个求连续几年薪水之和的最大值的公式。示例中是每连续4年(由单元格A5指定)薪水之和的最大值。 工作表的单元格A10中是2008年至2011年的薪水之和、B10是2009年至2012年的薪水之和,……,依此类推。其中单元格B10