cell+多维引用+n(if(1,))+mmult置换2列数据

小伙伴们好。昨天说了mmult置换2列数值或2列文本的方法,并且在最后给大家留了个思考题,如何置换1列文本和1列数值呢?今天就来说说这个问题。其实大体的思路和昨天的差不多,只是在降维处理的方式上有所不同。我们昨天对文本降维用的t函数,但是一列数值和一列文本,再用t降维就不行了,会把数字丢失。当然用n函数也是不行的,会把文本丢失。那就要用到cell这个函数。

还是先看例子吧,下图左表A列是出生日期,B列是姓名。现在要置换为右表所示,就是I和J2列。和昨天的方法一样,把数据区域转换为行列结合的2列数字,然后用mmult置换2列数字,接下来用text转为文本型的单元格地址,再用indirect转为多维引用,最后用cell取得对应的内容。

mmult的第1参数ROW(3:10)/1%+COLUMN(A:B)返回的结果如下图①所示,用A3:B10这个区域的行号乘以100再加上列号。第2参数还是1-munit(2),如下图②所示。

=MMULT(ROW(3:10)/1%+COLUMN(A:B),1-MUNIT(2))返回的结果如下图④所示,这样就把2列数字置换了。接下来就要用text转为文本型单元格地址,也就是R1C1的样式。

=TEXT(MMULT(ROW(3:10)/1%+COLUMN(A:B),1-MUNIT(2)),"R0C00")这部分就把上一步的数值转为R1C1样式的文本型单元格地址,如下图灰色部分所示。

下图的公式用indirect返回引用,形成了多维引用;然后用t函数降维,昨天也是这么做的,但得到的结果如下图所示。发现只有姓名,没有日期。其实是t函数把数字(日期就是数字)变为空文本了,这样的话就把数字丢失了。所以这种方法就不行了。

那么我们为了解决这个问题,就要用到cell+多维引用+t/n(if(1,))这个搭档。t或n(if(1,))把一个数组在时间和空间上整合在了一起,这话具体什么意思,我现在也不懂,会用就行了。把它看作一个常量数组或者一个整体就可以了。比如vlookup的第1参数不支持数组的运算,当用了t/n(if(1,))结构后就支持了。

=CELL("contents",INDIRECT(TEXT(N(IF(1,MMULT(ROW(3:10)/1%+COLUMN(A:B),1-MUNIT(2)))),"R0C00"),))这部分就得到了置换后的效果,虽然下图显示的是错误值,但选中公式按F9就可以看到结果。为什么放在单元格中是错误值呢?据说是易失性函数和多维引用的结果不能直接输出在单元格中。如果想要输出结果,外面可以套个index函数,如下第2图所示,得到的数字就是日期。

再来简单说一说上面的公式,我在mmult的前面加上了n(if(1,)),那么它返回的结果可以看作一个整体。因为mmult返回的结果是数字,所以用n+if;如果返回的是文本可以用t+if,比如你可以在text的前面放置t+if。形成一个整体后参与到多维引用中,这样的方式形成的多维引用和普通的多维引用有所差别,而用cell函数正好和它结合使用。现在的我对这方面的理解也很有限,所以也说不清楚,主要还是靠体验,多练习你就会有自己的理解。

cell是一个信息函数,它可以返回引用中第1个单元格的一些信息,比如地址,行号,列号,内容,格式,文件名等。函数语法结构为CELL(info_type, [reference]) ,有2个参数。第1个参数是个文本值,指定要返回的信息类型;第2参数是可选参数,必须是单元格引用,不能是数组。

下图是cell第1参数指定的一些单元格信息类型,常用的有地址,列号,内容,文件名,格式,行号,宽度等。

下面看几个简单的示例。输入公式=CELL("contents",A1:C3),返回的结果是A。第1参数"contents"代表内容,也就是单元格的值。第2参数的区域是A1:C3。值得注意的是:它不是返回A1:C3整个区域的内容,而是返回这个区域第1个单元格的内容,也就是左上角单元格的内容。左上角单元格是A1,所以返回它的内容A。同样的,公式=CELL("row",A1:C3)返回A1单元格的行号,当然是1;公式=CELL("width",A1:C3)返回A1单元格的宽度8。

总结一下cell的特征,第2参数只能是引用,并且只能返回引用区域左上角单元格的信息。这就是它为什么和多维引用结合使用的理由,多维引用当然是引用,符合第2参数的特性;但是它也只能返回多维引用的第1个值。而用了t/n(if(1,))后就能返回多维引用的多个值了。你可以把置换那个公式中的n(if(1,))去掉,看看cell返回的结果是什么。今天的文章需要有多维引用的基础。

利用这些函数得到了置换后的数组,就可以用vlookup逆向查询了。在M3单元输入公式

=VLOOKUP(L3,CELL("contents",INDIRECT(TEXT(N(IF(1,MMULT(ROW(3:10)/1%+COLUMN(A:B),1-MUNIT(2)))),"r0c00"),)),2,),完成。

文件链接:

https://pan.baidu.com/s/10Dc1GJ4iXIX5oQrnICnWug

提取码:c1ao

(0)

相关推荐

  • 用Excel要学会骗③:轻松合并多单元格的文本

    最近推送的五篇文章: PDF文档转换.提取.压缩,这一个网站搞定! 一列数据转多行多列,只用了这些常用功能! 用Excel要学会骗②:用偷梁换柱搞定数据有效性引用多行多列的难题 用Excel要学会骗① ...

  • 精通Excel数组公式020:MMULT数组函数

    excelperfect MMULT表示矩阵乘法(matrix multiplication).学习过前面文章的朋友,可能已经意识到乘法矩阵在Excel公式中有很多应用. 如下图1所示,两个不同队的棒 ...

  • 一步到位算金额

    点击上方 蓝色 文字  关注我们吧! 送人玫瑰,手有余香,请将文章分享给更多朋友 动手操作是熟练掌握EXCEL的最快捷途径! 有这样一个题目,如下图.单元格区域E2:G4数数量. 要求产品A,B和C按 ...

  • 只要函数基础扎实,遇到难题也能轻易解决!

    送人玫瑰,手有余香,请将文章分享给更多朋友 动手操作是熟练掌握EXCEL的最快捷途径! 我们这一代人都玩过<三国志>这款游戏,也为每个人心目中最厉害的三国英雄而争论过.恰巧这里有一份三国主 ...

  • N函数的【5种应用汇总】

    点击上方"EXCEL应用之家"蓝字关注微信公众号 点击文章底部"阅读原文"可领取阅读红包:模板文档可免费获取 送人玫瑰,手有余香,请将文章分享给更多朋友 动手操 ...

  • 这几个实用、简单的函数,你会用吗?

    今天技巧妹与大家分享几个鲜为人知却实用的函数,一起来看看吧. 1.CELL函数 CELL函数表示提取相应单元格的信息 语法=CELL(info_type,[reference]) CELL函数第一个参 ...

  • Excel超链接函数以及一个使用超链接函数的高级技巧

    又是一个很有用但是冷门的函数.Excel中某些专业的效果还必须通过它来完成. 要讲超链接函数,需要先知道什么是超链接. 所以,我们先来看看Excel中的超链接 在Excel中,我们可以为单元格,文本框 ...

  • 矩阵乘积函数mmult进阶应用8:像if({1,0})一样置换2列数据

    小伙伴们,还好吗?今天来分享一下mmult的另一个用法,像if({1,0},..,..)一样置换两列数据的位置,置换后可以用vlookup实现逆向查询.还是来看2个例子. 1.置换2列数值,并用vlo ...

  • 免辅助列的利器:mmult和多维引用

    你好,我是刘卓.欢迎来到我的公号,excel函数解析.今天通过几个简单的题目来分享一下免辅助列的方法.虽然题目很简单,你也一定会做,但是如果增加要求的话,简单的题目也会变得不简单,也会有你未曾触碰的存 ...

  • 数据库函数多条件求和、计数及多维引用的用法

    你好,我是刘卓.欢迎来到我的公号,excel函数解析.前天分享了数据库函数dsum和dcount的基础用法.今天来分享下它们的多条件求和.计数以及多维引用的用法. -01- 多条件求和计数 1.多条件 ...

  • 多维引用,你进阶高手的必经之路。

    在excel中引用一行或一列的数据,叫一维引用,可以看作线:引用多行多列的数据叫二维引用,可以看作面:而三维引用可以看作体,它引用多个面的数据. 什么是多维引用呢?我的理解是在一个数组中,每一个元素经 ...

  • Excel 2016︱多维引用的工作原理

    认识引用的维度和维数 引用的维度是指引用中单元格区域的排列方向.维数是引用中不同维度的个数.单个单元格引用可视作一个无方向的点,没有维度和维数:一行或一列的连续单元格区域引用可视作一条直线,拥有一个维 ...

  • excel多列数据求和视频:指定区域单元格条件引用多列求和技巧

    excel多列数据求和视频|excel指定区域求和视频|excel多列条件求和视频|单元格引用技巧视频 本视频教程由部落窝教育分享.

  • 维达用防伪营销码,掌握用户数据,寓意何为?

    有纸巾的日子里,你该怎么办? 没错,这句话足以证明纸巾的重要性!笔者在百度上一搜,便出现以下的情况: 不可否认,纸巾已经为消费者的生活必需品.但,目前消费者的健康意识比较强,特别在选择生活用品的时候, ...

  • 奥维睿沃商显五大行业八大品类数据发布

    2021年7月22日,首届<奥维睿沃八大商显产品数据发布会>在北京凯迪克格兰云天酒店圆满落幕.本次会议中,奥维睿沃(AVC Revo)多位分析师分别从医疗.教育.零售.交通.政府五大领域对 ...

  • 每日数据挖掘机:机构青睐哪些股票?奥特维、山西焦煤等热门标的在列

    摘要[每日数据挖掘机:机构青睐哪些股票?奥特维.山西焦煤等热门标的在列]数据挖掘机,纵览A股市场,上市公司实时追踪!个股评级.增减持.停复牌.限售解禁.新股资讯等尽在掌握. 最新价:178.99涨跌额 ...