新手求助:如何用Excel公式计算两个工作表的评级指数差异?
如何用Excel公式计算评级差异
嘿,作为Excel公式新手,这个需求其实很好实现,我来一步步给你讲清楚怎么做~
第一步:整理好RatingsSheet的映射表
首先要确保你的RatingsSheet里的评级和对应数值是规整的表格形式,这样公式才能准确抓取数据。建议你把它改成这样的结构:
- RaterA映射区(比如A-B列):
RaterA Value Aaa 1 Aa1 2 Aa2 3 Aa3 4 - RaterB映射区(比如C-D列):
RaterB Value AAA 1 AA+ 2 AA 3 AA- 4
第二步:在AnalysisSheet中编写差值公式
假设你的AnalysisSheet数据结构和示例一致(表头在第1行,数据从第2行开始):
| Entity | PrevRatingA | CurrRatingA | PrevRatingB | CurrRatingB | RateAdiff | RateBdiff |
|---|---|---|---|---|---|---|
| 1234 | Aaa | Aa3 | AA- | AA+ | -3 | 2 |
计算RateAdiff(PrevRatingA对应值 - CurrRatingA对应值)
在F2单元格(RateAdiff列的第一行数据)输入以下公式:
=VLOOKUP(B2,RatingsSheet!$A$2:$B$5,2,FALSE) - VLOOKUP(C2,RatingsSheet!$A$2:$B$5,2,FALSE)
- 解释:第一个
VLOOKUP会在RatingsSheet的RaterA列表里找到PrevRatingA(B2单元格)对应的数值,第二个VLOOKUP找到CurrRatingA(C2单元格)的数值,两者相减就是评级差异。
计算RateBdiff(PrevRatingB对应值 - CurrRatingB对应值)
在G2单元格(RateBdiff列的第一行数据)输入:
=VLOOKUP(D2,RatingsSheet!$C$2:$D$5,2,FALSE) - VLOOKUP(E2,RatingsSheet!$C$2:$D$5,2,FALSE)
- 解释:逻辑和上面一样,只是换成了RaterB的映射表来抓取数值。
(可选)用更直观的XLOOKUP公式(适用于Excel 365/2021及以后版本)
如果你的Excel版本支持XLOOKUP,可以用更不容易出错的写法:
- RateAdiff公式:
=XLOOKUP(B2,RatingsSheet!$A$2:$A$5,RatingsSheet!$B$2:$B$5) - XLOOKUP(C2,RatingsSheet!$A$2:$A$5,RatingsSheet!$B$2:$B$5)
- RateBdiff公式:
=XLOOKUP(D2,RatingsSheet!$C$2:$C$5,RatingsSheet!$D$2:$D$5) - XLOOKUP(E2,RatingsSheet!$C$2:$C$5,RatingsSheet!$D$2:$D$5)
第三步:批量填充公式
输入完F2和G2的公式后,选中这两个单元格,把鼠标移到单元格右下角的填充柄(那个小方块),双击或者往下拉,就能自动把公式应用到所有行啦~
新手注意事项
- 一定要用绝对引用(公式里的
$符号),这样下拉公式时,RatingsSheet的映射表范围不会乱跑; - 确保
AnalysisSheet里的评级文本和RatingsSheet里的完全一致(比如大小写、有没有空格),不然公式会返回#N/A错误; - 如果遇到错误,可以检查一下是不是映射表范围选少了,或者评级文本写错了。
内容的提问来源于stack exchange,提问作者Vibrant Learner




