龙空技术网

在表格数据列中vlookup函数如何按照指定次数重复文本数据?

Excel教程学习 128

前言:

目前咱们对“文本重复查询算法实现”大致比较看重,兄弟们都需要学习一些“文本重复查询算法实现”的相关内容。那么小编在网络上网罗了一些关于“文本重复查询算法实现””的相关文章,希望各位老铁们能喜欢,我们快快来学习一下吧!

#头条创作挑战赛#

在数据列中重复指定次数的文本,与单元格重复文本次数是不一样的,后者只要使用文本重复函数rept就可以达成目的。

而在数据列来重复指定次数的文本, 我们先来看下这个效果图:

从动图可见,数据列的内容是根据文本重复的指定次数来自动填充的。

既然是使用vlookup函数来求解,那么该怎么来写这个公式呢?

其实我们可以借鉴vlookup搭配辅助区间或辅助列的用法,比如区间引用场景。

但在这个场景中,它看似类似于区间引用,但性质完全不一样,数据表中的重复次数的数值是要重复的次数,而不是要引用的值。

因此我们需要重新添加辅助列,如下图所示,在A列的A2单元格输入一个sum求和运算公式:

=SUM($C$1:C1)+1

这个公式的作用是累计求和总的文本重复次数,而计算累计重复次数则是为了设置vlookup函数表达式的第1参数——查询列表。

这里要注意sum函数的参数使用了混合引用,要注意引用符号的输入!

此时,作者在E2单元格输入一个vlookup函数公式:

=IFERROR(VLOOKUP(ROW(A1),$A$2:$B$6,2,0),E1)&""

首先来看公式中vlookup函数表达式,其第1参数是row函数,row函数随公式填充会产生动态的结果值,比如ROW(A1)等于1,下拉公式到A2单元格,则为ROW(A2),等于2.

然后设置$A$2:$B$6区域为查找区域,并返回第2列,查找类型为精确查找。

现在来看下它的运算逻辑,当查找值ROW(A1)等于1,它会查询查找区域首列,即A列列表中等于1的值,我们可以从数据表的A列中看到值1所处的位置,这时返回列B列对应的值是“张三”

接着ROW(A2)等于2,由于是精确查找,查找值2在查询列中并不存在,因此根据iferror函数的参数设置,会返回E2单元格的值,也就是刚才引用出来的“张三”!

当公式下拉到E5单元格,此时公式中的row函数为ROW(A4),其结果等于4,这时再查询A列中的数字,则要匹配数字4,因此返回值4对应的B列文本,即“李四”。

按照这个规则,依次向下匹配,直到重复完最后一个文本的最后一次,此时最后一个文本不是“赵六”,而是一个空值,即单元格B6的值,这是因为B6单元格实际是属于vlookup函数查找区域中的单元格之一。

如何描述这段话的含义?

当公式填充到row(A19)的时候,结果等于19,从辅助列可见,值19对应的文本是一个空值,而当公式继续下拉到A19之后,它在查询列中是匹配不到对应值的,因此根据iferror函数的规则,将返回上一个单元格的值,也就是空值。

具体的公式逻辑作者已经阐述了一遍,如果还有不懂的地方,可以辅助公式到数据表中进行练习,然后逐步解析公式去理解其含义。

阅读更多:

vlookup函数怎么使用?快速了解vlookup函数的使用方法和常规公式

Excel表格使用VLOOKUP公式匹配区间分段等级

VLOOKUP函数如何一对多匹配显示所有结果?

标签: #文本重复查询算法实现