发布日期:2024-11-05 07:57 点击次数:138 |
文 前 推 荐 小程序开发价格
表格消释、跨表查找就HSTACK和VSTACK数组索要函数TAKE和DROP以一敌十的SUBTOTAL函数,你岂肯错过?SORT函数排序比用排序号召还好用图片
图片
编按:
BYROW和BYCOL函数不错对区域中的数据逐行能够逐列进行团聚运算,输出一个单列或单行的数组。底下详解这两个函数的用法。
今天学习LAMBDA终末两个配套函数BYROW和BYCOL。这两个函数比拟其他四个配套函数更陋劣易懂,况兼两者参数和用法访佛,是以小窝将它们放在一皆先容。1. 作用与语法BYROW函数将LAMBDA算式应用于数组的每一滑(不错交融为一滑一滑的谈论),并复返一个单列等行(与被谈论的数组行数相配)的数组。=BYROW(数组,LAMBDA运算式)BYCOL函数则是将LAMBDA算式应用于数组的每一列(不错交融为一列一列的谈论),并复返一个单行等列(与被谈论的数组列数相配)的数组。=BYCOL(数组,LAMBDA运算式)数组,要分列或分行谈论的数组。LAMBDA运算式,按行能够列进行团聚谈论,只须一个变量参数。细致:因为Excel函数不维持数组的数组,是以BYROW(BYCOL)中LAMBDA每次运算效果须是单值。2. BYROW和BYCOL基本用法1)LAMBDA对行能够列进行团聚运算下方是销售员各月的销售额。当今需条目每东谈主最高月销量,以及当月最高单东谈主销量。图片
(1)各东谈主最高月销量传统作念法即是输入公式=MAX(C3:H3)并向下填充。图片
当今用BYROW,公式=BYROW(C3:H11,LAMBDA(R,MAX(R)))图片
诠释:LAMBDA(R,MAX(R)),轮番扫描C3:H11中第1行、第2行、第3行等数据,并获取各行MAX值。公式毋庸向下填充,告成赢得各行的最大值。(2)当月最高单东谈主销量用BYCOL,公式=BYCOL(C3:H11,LAMBDA(C,MAX(C))).图片
诠释:公式毋庸向右填充,告成向右逐列扫描赢得各列的最大值。2)如若LAMBDA运算效果是多个值如若公式中LAMBDA运算效果并非单值,则BYROW或BYCOL函数出现#CALC造作。比喻求各东谈主最高的两月销量。公式=BYROW(C17:H25,LAMBDA(R,LARGE(R,{1,2}))),效果造作:图片
诠释:LARGE(R,{1,2})会复返每行第一、第二大的数值,输出的并非单个值,因此出现#CALC造作。这个技巧,不错延续嵌套团聚函数,让值造成单个。比喻斯处在LARGE函数外嵌套文本组合函数TEXTJOIN函数,TEXTJOIN("、",,LARGE(R,{1,2})),效果就正确了:图片
3. BYROW和BYCOL典型利用似乎BYROW和BYCOL并莫得什么本色用处:求最大值中,小程序开发公司用它们,公式比用传统函数的公式还复杂。本色上BYROW或BYCOL的主要价值并非是告成用来得到最终效果,而是将它们的效果行为内存数组供其他函数使用。1)求平均月销量大于280的东谈主员图片
求平均销量大于某个值的东谈主员名单,笃定需要先得到各东谈主的平均值,然后进行比较筛选。此时,如若用传统函数就较繁琐。一种行径是加多一列平均销量提拔列,然后用FILTER进行筛选。图片
排列三第2024181期奖号两码合差分析:
一种行径是用SUBTOTAL取代AVERAGE,并搭配OFFSET函数赢得平均值数组,然后筛选。公式比较复杂还不易交融:=FILTER(B33:B41,SUBTOTAL(101,OFFSET(C32:H32,ROW(1:9),,1,6))>280)图片
诠释:毋庸提拔列,就需要把平均值行为数组用于公式中,但AVRERAGE是团聚函数,单用它没法得到平均值数组。此处SUBTOTAL加OFFSET的作用即是得到平均值数组。这里有点神奇,全球不错属意。单写公式=OFFSET(C32:H32,ROW(1:9),,1,6),因为函数不维持数组的数组,是以效果会是#VALUE造作;但当在外面嵌套上SUBTOTAL后,得到正确效果。图片
由于不存在遮蔽行,因此SUBTOTAL函数功能代码用1也不错。1和101都示意求平均值。如若用今天的BYROW,则相对陋劣并好交融:图片
2)求销量前3位东谈主员名单图片
如若毋庸动态数组函数,公式较复杂:=XLOOKUP(LARGE(SUBTOTAL(9,OFFSET(C44:H44,ROW(1:9),,1,6)),{1;2;3}),SUBTOTAL(9,OFFSET(C44:H44,ROW(1:9),,1,6)),B45:B53)即便用LET优化,也比较长:=LET(a,SUBTOTAL(9,OFFSET(C44:H44,ROW(1:9),,1,6)),XLOOKUP(LARGE(a,{1;2;3}),a,B45:B53))图片
如若用动态数组函数和BYROW集中,公式比较陋劣:公式=TAKE(SORT(HSTACK(B45:B53,BYROW(C33:H41,LAMBDA(x,SUM(x)))),2,-1),3,1)图片
诠释:BYROW(C33:H41,LAMBDA(x,SUM(x))),赢得各行的销售总共;接着用HSTACK将姓名与销售总共列构成新数组;然后再用SORT函数对新数组降序排序;终末用TAKE函数取排序后的第1列(姓名列)前3行。app本站仅提供存储做事,整个内容均由用户发布,如发现存害或侵权内容,请点击举报。