数据库合并函数vlookup介绍
昨天我们介绍了EXCEL当中的IF函数以及COUNTIF函数在数据处理当中的使用。今天来介绍另外一个我们在数据提取经常用到的函数:Vlookup。
实例介绍
我们在进行数据分析的时候,经常需要对数据进行匹配。比如我们这里有一个胃癌相关患者的临床信息的数据库,这个数据库包括这些患者的基本临床信息,其中包括其年龄,性别,TMN分期。
同时我还有另外一个数据库,这个数据库是我做了一部分患者的TP53和RNF10表达的结果。
这两个数据库的样本量都不一样,但是其有一个相同的地方在于,这两个数据库都有一个患者ID。这个ID是唯一的。即我们可以通过ID号来查到每个患者的临床信息,同时也能查到其基因表达的情况。这个时候,如果我想要分析TP53基因的表达和胃癌临床信息的关系的话,那就需要把这两个数据库来进行合并成一个表格来进行分析。
如果是只有几个样本。那我们完全可以一个一个ID查找来进行合并。但是如果是有差不多几百个样本,那总不能查找几百次吧。这个时候我们就可以使用vlookup函数来完成这个操作。
函数介绍
关于VLOOKUP而言,我们需要输入以下几个参数来完成操作
VLOOKUP(想要查找的ID号, 想要在哪个范围内查找, 想要返回的列,是否是精确查找)。
例如上面的例子,我们想要把如果我们想要把基因的表达数据库当中的样本的年龄信息匹配上。那就需要输入=VLOOKUP(A2,Sheet1!A:F,2,FALSE)
通过以上的例子我们来解释一下函数的输入和输出
在函数的的第一个参数是想要查找的ID号,这里我们输入的是A2。即想要查找在A2这个位置上的这个ID号(TCGA-VQ-AA6G-01A)的相关信息
第二个参数是我们想要查找的范围。这里我们输入是Sheet1!A:F(这里的数据内容就是临床信息的数据)。这个的意思是,我们想要在哪个数据库查找刚才输入的唯一的ID号(TCGA-VQ-AA6G-01A)。
这里需要注意的是,对于这个数据库的第一列一定要是唯一ID号。
第三个参数是我们想要返回的第几列的数据。在想要查找的数据库当中,age在第二列,所以我们输入2。就代表如果在这个数据库当中查找到目标ID号(TCGA-VQ-AA6G-01A), 返回这个ID对应的第二列的数据。
第四个参数代表对于ID和数据库的匹配是否是精确匹配。这个参数接受两个输入TRUE是非精确匹配,FLASE是精确匹配。
通过以上的介绍,大致可能就明白VLOOKUP是怎么使用了吧。因此如果我们想要查找gender这里列的数据怎么办。那就是把其中的第三个参数当中的2改成3即可,即=VLOOKUP(A2,Sheet1!A:F,3,FALSE)。
以上的基本操作可以让我们来进行不同数据库的匹配,但是对于由于每次Vlookup的时候都需要输入制定的返回列。因此我们只能一列一列的返回。如果我们有十几或者上百的列需要匹配。那就很麻烦。所以更进阶的方法。
多列数据的自动匹配
关于多列数据的自动匹配,这个时候就需要用到COLUMN函数了。这个函数返回每一个单元格的列数。例如我们输入COLUMN(B1)。那就会返回2.如果输入是COLUMN(C1)则返回3。如果输入COLUMN(B100)那返回的还是2。
因此通过VLOOKUP和COLUMN函数进行组合就可以来进行随着拖动自己匹配了。
在上面的操作我们使用到了绝对引用,关于绝对引用可以参照我们之前的帖子: excel函数基础