EXCEL 值在前面条件在后的函数引用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了EXCEL 值在前面条件在后的函数引用相关的知识,希望对你有一定的参考价值。

VLOOKUP 查找及引用 一般条件都在值前,现作分析时,需要反查,工作表中条件在值后列(举例:条件在D列,值在A列),函数怎么写,求高手指点

G1 输入  =VLOOKUP(F1,IF(1,0,$D$1:$D$6,$C$1:$C$6),2,0)

公式下拉

参考技术A 相对简单的就是LOOKUP,假设你在E列输入公式,在E1输入
=LOOKUP(E1,D1:D20,A1,A20)
是查找在D列符合条件的行,然后再返回对应行的A列值
参考技术B 方法1)那就把两列换一下呗

方法2)使用match+index来代替vlookup
参考技术C =VLOOKUP(D1,IF(1,0,D:D,A:A),2,0)

SQL 怎么用指定条件查询RANK函数生成的新排名列?

比如这样一张表
testxingming fenshu
张三 70
李四 80
王五 90
赵六 95
然后用SELECT xingming,fenshu,RANK() OVER(ORDER BY fenshu DESC) as paiming from test
能够生paiming列
问题是 paiming 列是临时生成的,我需要对paiming列做条件筛选,比如只选择排名大于1且小于4的行,想在后面加上 where paiming >1 and paiming <4
这时提示 "列名 'paiming' 无效"
请问大神这个问题有解吗?因为实在不想在数据表里添加一列"paiming",因为科目太多,会带来巨大的麻烦。。。

你说的这个问题和rank没有关系,你只是想把查出来的一列数据根据条件再update到表中某一列。 所以你可以用临时表先查出(key, value)这样的组合,然后在通过key相等这样的条件来update你表中对应行的某列的value。 With T Select a.key_no as key, RANK() over(partition by a.key_no order by a.id) as value, From A a update A set a.Some_Column = ( select t.value from T t where t.key = A.key_no ) 参考技术A 需要再套一层子查询, 计算字段直接使用不太方便
select *
from (SELECT xingming,fenshu,RANK() OVER(ORDER BY fenshu DESC) as paiming from test
) t
where paiming >1 and paiming <4本回答被提问者采纳

以上是关于EXCEL 值在前面条件在后的函数引用的主要内容,如果未能解决你的问题,请参考以下文章

查找和引用函数INDEX

Excel查找指定列数据值并整行引用到其它表

EXCEL函数如何查找数值在工作表中的位置?

函数公式大全及图解excel条件

Excel查找引用函数之offset函数

如何查找单元格中是不是包含部分文本并引用另一列数据