小伙伴们好啊,今天和大家分享一组简单高效的函数公式,点滴积累,也能提高工作效率。
如下图所示,希望将表格转换为一维表,也就是姓名、城市和数值单独一列的形式。
=HSTACK(TOCOL(A2:A6&B8:F8),TOCOL(B1:F1&G2:G6),TOCOL(B2:F6))公式中的A2:A6&B8:F8部分,使用A列的姓名连接空白区域B8:F8,只要该区域的列数与数据表一致,可以写成任意的单元格地址。公式中的B1:F1&G2:G6部分,使用第一行的标题连接空白区域G2:G6,这里的空白区域行数与数据表行数要一致,连接后的结果为:公式中的TOCOL(B2:F6)部分,则是将数值区域转换为一列。最后,使用HSTACK函数将三个数组按左右方向依次合并连接到一起。
=SUM(BYCOL(B2:F6,LAMBDA(x,MAX(x))))LAMBDA函数将B2:F6区域中的每一列定义为x,再用MAX函数计算出各个x的最大值,最后使用SUM函数求和。如下图所示,是某鞋店部分款式女鞋的存货情况,希望使用公式判断是不是断码。判断规则为:每个款色连续3码大于0时为齐码,否则为断码。
H2输入以下公式,向下复制即可:
=IF(MAX(LEN(TEXTSPLIT(CONCAT(IF(B3:G3>0,1,0)),0)))>2,"齐码","断码")
公式中的IF(B3:G3>0,1,0)部分,用IF函数进行判断,如果B3:G3的某个元素大于0,结果返回1,否则返回0。这部分的判断结果为:
{0,1,1,1,0,1}
接下来使用CONCAT函数将以上内存数值的各个元素连接到一起:
011101
再使用TEXTSPLIT函数,用0做间隔符号进行拆分,结果为:
{"","111","1"}
然后使用LEN函数计算以上内存数组中各个元素的字符长度:
{0,3,1}
用MAX函数提取出最大值后,最后用IF函数进行判断并返回“齐码”或是“断码”。
好了,以上就是今天的全部内容,祝各位一天好心情~~
图文制作:祝洪忠
1、点击或搜索微信公众号【 Excel之家ExcelHome】到公众号首页。
2、点击右上角【···】,在下拉菜单中点击【设为星标】。
设置星标后,小伙伴们就不用担心错过咱们的推送了!