Excel系列——查找

发布于: 修改于:雪球转发:111回复:93喜欢:321

我们在用Excel做个人投资组合管理时经常会遇到这样一个场景:首先,你有一个表格存放各个股票的股价,比如:

然后你在另外一个表格里直接引用股价数据,用于计算,比如市值=股价*头寸。

一种做法是直接引用单元格,麻烦在于,你的每个持仓都要引用一次,如果再算上你关注的股票,要引用很多次。

还有一种做法是使用Excel的查找功能,比如我是这样做的:

VLOOKUP是纵向查找,对应的还有一个函数叫HLOOKUP是横向查找。上图中公式的意思是,在A2:C38这个区域,纵向查找E4这个表格里的值(即MSFT),查找到MSFT所在的那一行后,索引第三列的值,即Price所在那一列的值。

这样做的好处是,如果要引用其它股票的股价,只需要copy paste即可,比如:

但是,如果你照着做你会发现你的表格出错了,问题在哪里呢?

图2的公式里,选中A2:C38,按一下F4,公式就变成上面那样了,意思是,不管这个公式被copy paste到哪里,引用的区域不变,这样就没问题了。

有时候你可能需要调整存放各个股票的股价的表格,比如这样:

在Price前面插入一列。

虽然引用的区域因为插入动作自动从A2:C38列变成A2:D38了,但是引用的还是第3列,而第3列不再是股价了,于是就出错了。

这个公式还能改进吗?可以。

“第3列”不要写死在公式里,改成MATCH("Price",$A$1:$D$1,0),意思是,在A1到D1这个区域里,“Price”所在的位置。这样一来,只要不修改“Price”这个列的名字,公式就不会出错。

最后,可能有人会问,股价怎么查询,Excel里提供了股价查询功能,不过不支持A股。

会了吗?

精彩讨论

NanGuaNotNao2021-03-29 21:12

腾讯文档里的excel,stock公式支持ah股,美股没试过

仓又加错-刘成岗2021-03-30 16:46

坦白讲,我对国内这些公司的节操都持怀疑态度,这么重要的文件不敢放在他们那里。

t2o22021-03-29 20:49

直接跟调用python省事儿

Garfieldm2021-03-29 20:41

网页链接   集思录的贴子,代码和文件都有,自取。

行知非白2021-03-30 18:08

我靠真是太难了,还是交给秘书干轻松。

全部讨论

2021-04-03 16:00

一句Python语句搞不定,就来两句。

2021-04-01 12:41

感谢仓老师的vlookup教程

2021-04-01 11:26

没看出这表格对股价有什么用?

2021-03-31 04:33

感谢

2021-03-30 17:38

pandas不香?

2021-03-30 16:55

没看懂,收藏起来先

2021-03-30 16:54

Office365有xlookup函数了,可以做vlookup和hlookup的通用替代

2021-03-30 16:49

2021-03-30 16:48

2021-03-30 13:23

条件再多一点可以上indirect,Excel宇宙里比较喜欢的一公式。