EXCEL中如何同时满足两个条件后返回值?

来源:百度知道 编辑:UC知道 时间:2024/05/20 19:53:23
各位大虾,我遇到的具体问题是这样的:我在表一中有一个数据库,但是我现在表一中的某列需要满足表二中的两个条件,表二是这样的:
A B C D
1 XXX XX X
2 XXX XX X
3 XXX XX X
4 XXX XX X
5 XXX XX X
XXX XX X都是数字,我的条件是表一是这样的
A B C
XXX 1 A
XXX 2 A
XXX 1 B
XXX 2 C
XXX 3 C
现在的问题是我的表一中如果B列的值=表二中第一列的值,表一中C列的值=表二中第一行的值,则我表一中A列的值返回我表二中符合上面两个条件的相交单元格内的数值。
不知道哪位大虾能帮忙解决一下,谢谢!
2楼的大哥(or大姐)我的意思是这样的:我举个例子我的表一如下:
A B C
X 1 a
X 2 a
X 1 b
X 2 c
X 3 c
我的表二如下:
空格 a b c
1 100 105 110
2 115 120 125
3 130 135 140
我的要求就是我的表一A列的值应该是表一中B列和C列同时符合表二中第一行和第一列,然后取他们的相交的值
我的表一的答案最后应该为 :
100
115
105
125
140
不知道这样讲能不能讲清楚 非常感谢各位,麻烦各位大虾了!^__^

按照你的目的我可以确定你的表二的A1应该是空格,B1 是“A”,C1是“B”,D1是C。

你在表二的B2输入如下公式
=SUM((Sheet1!$A$2:$A$1000)*(Sheet1!$B$2:$B$1000=$A2)*(Sheet1!$C$2:$C$1000=B$1)) 然后按CTRL+SHIFT+ENTER (数组公式)

然后把它向右和向下拖拉一下就能得到你要的结果了。这里假设你在表一中BC列的值不会重复。

其实你可以简化你的表,因为表二中的12345其实就是行号(可以通过Row())得到,第一行其实就是列号,可以通过=CHAR(COLUMN()+64)得到;这样表1中的第一行也不必要了。

==================================================
晕我还是理解错了。

在表一的A1输入 =INDIRECT("sheet2!"&CHAR(CODE(C1)+1)&(B1+1))
然后往下拉

我看了半天,还是不太明白,我的理解是这样的你看看对不对。
我理解的是:表一中XXX 1 A,的意思就是XXX要换成表二中A1单元格的数值。是这样吗?
我说说我理解的如何实现。
1.在sheet1中D1单元格写$
2.在在E1单元格写sheet2!
3.在F1单元格写=C1&B1
4.在G1单元格写=D1&E1&F1
5.填充,注意D列E列填充是复制形式填充;F、G列填充是自动填充,既累加形式。
6.填充完毕后,以SHEET1第一行数据为XXX 1 A为例,G1单元格内容为$sheet2!a1
7.复制G列到H列,注意粘贴的时候现在编辑、选择性粘贴、数值。这里只粘贴数值。
8.删除D\E\F\G四列。
9.编辑菜单、替换。把$换成=全部替换。
这时D列就是所得到的数值,然后在复制D列,粘贴到A列,这样A列就是所得到的结果。
不知道我有没有写明白,希望对你有帮助。
哪个环节不明白可以问我。