如何在Excel中基于前一列的值生成新列(实现1→2…10→10映射)
嘿,这个需求挺好解决的,给你几个实用的Excel方案,随便挑一个都能搞定:
方法1:IF函数(最直观易懂)
假设你的原始数据(1-10)在A列,从A1单元格开始。那在相邻的B1单元格输入这个公式:=IF(A1<10,A1+1,A1)
输入完按回车,然后把鼠标放在B1单元格右下角,等光标变成十字形后下拉到B10就完成了。逻辑很简单:只要A列的数小于10,就自动加1;遇到10的时候保持原数不变,完美匹配你的对应规则。
方法2:MIN函数(更简洁的写法)
嫌IF公式有点长?用MIN函数一行搞定,B1输入:=MIN(A1+1,10)
同样下拉填充就行。原理是把「A1+1」和「10」取最小值——当A1是1-9时,A1+1的结果是2-10,MIN的结果就是A1+1;当A1是10时,10+1=11,MIN(11,10)自然就返回10,完全符合要求。
方法3:VLOOKUP函数(适合后续扩展)
如果以后你的对应关系可能变得更复杂(比如不是连续的数字映射),那用VLOOKUP更灵活。先找个空白区域(比如D1到E11)建立一个对应关系表:
| Col1 | Col2 |
|---|---|
| 1 | 2 |
| 2 | 3 |
| 3 | 4 |
| ... | ... |
| 9 | 10 |
| 10 | 10 |
然后在B1输入公式:=VLOOKUP(A1,$D$1:$E$11,2,FALSE)
下拉填充即可。以后要是需要修改对应规则,直接改这个对照表就行,不用动公式,非常方便。
内容的提问来源于stack exchange,提问作者Trupti chaudhari
相关产品推荐
相关产品推荐

