小赖同学吧
关注: 25 贴子: 151

  • 目录:
  • 个人贴吧
  • 0
    问题:排查干扰数字字符串求和 "解: 需要将合并的字符串拆分 =TEXTSPLIT(A2,"":"",CHAR(10)) 这样分列出来的是文本数字,需要负负转数字 =--TEXTSPLIT(A2,"":"",CHAR(10)) 再iferror处理错误,让错误的文本字符返回0 =IFERROR(--TEXTSPLIT(A3,"":"",CHAR(10)),0) 然后sum求和就行了 =SUM(IFERROR(--TEXTSPLIT(A2,"":"",CHAR(10)),0))"
  • 0
    问题:1 001当成相同内容,条件求和 解: 1 01 001都是数字1,但是保存格式为文本,他们不是一个相同内容 那就把1 01 001都转成数字1,求和区域跟求和条件都要转 =--A2:A17 负负数学运算就可转化,因为转化后就是数组,不能使用sumif函数 =(--A2:A17=--A2)*B2:B17 这个可以当做sumif的条件判断 {100;200;300;0;0;0;0;0;0;0;0;0;0;0;0;0;0} 再sum求和就可以了 =SUM((--$A$2:$A$17=--A2)*$B$2:$B$17) 部分版本需要按shift+Ctrl+回车 如果编号中包含一些非数字内容,就用下方公式 =SUM((IFERROR(--$A$2:$A$17,$A$2:$A$17)
  • 0
    问题:多行多列取数字,转一列 将不连续的两行数字,排除0,去重后,转成1列 解: 这是不连续的区域,我们可以一次性选中整个大区域,再过滤掉不需要的部分 =1/(1/B1:I5) 1除以数据,可以把文本/空/0都做成报错,数字会变成倒数,那就1除一次 再将多好多列的数据转一列,再去重 =UNIQUE(TOCOL(1/(1/B1:I5))) {#VALUE!;999;888;#DIV/0!;676;109;950} 再过滤掉非数字部分 =FILTER(UNIQUE(TOCOL(1/(1/B1:I5))),ISNUMBER(UNIQUE(TOCOL(1/(1/B1:I5))))) 部分版本需要按shift+Ctrl+回车 这里有新函数,返回#name错误的话,
  • 0
    问题:两个表格时间是否有重叠交集 解: A开始A结束B开始B结束 2024/1/1 5:302024/1/1 6:322024/1/1 16:302024/1/1 17:31 要判断两个时间段是否重叠, 就判断,A开始是否在B区间中,A结束是否在B区间中,B开始是否在A区间中,B结束是否在A区间中 这4个有一个满足就表示是有重叠 这是思路,也有难难理解,自己慢慢体会 公式体现的话更抽象了,直接写,有空视频讲 =TEXTJOIN(",",1,IF((A2>=$E$2:$E$18)*(A2<=$F$2:$F$18)+(B2>=$E$2:$E$18)*(B2<=$F$2:$F$18)+($E$2:$E$18>=A2)*($E$2:$E$18<=B2)+($F$2:
  • 0
    问题:偷懒,输入530显示成0:05:30 解: 第一方案 选中整列--右击--单元格格式--自定义--"00:00:00" 这样输入的6位数字123456,就会显示成12:34:56 不足6位的123,会自动在左边补足6位00:01:23 注意,只是改变了数字的显示格式,本质还是123的数字,并非1分23秒 第二方案 用公式在第二列生成对应格式 可以输入的数字不是6位数,我需要格式化成6位数字 123 可以在前面补上足够的000000123,在切片右边的6个字符 =RIGHT("000000"&A1,6) 得到标准的6位数后,在将数字格式显
  • 0
    问题:两个字姓名,中间插入空格,对齐3个字姓名 解: 需要先拆分出每个姓名,判读长度后,是否插入空格,再合并回来 拆分每个姓名 =TEXTSPLIT(B2," ") {"黄茜琦","吴鹏","黄封壤","马妍姿","郑娇","刘仕照","吴来嘉","郑川","杨琬徽","徐勤","孙康奔"} 在len取长度 =LEN(TEXTSPLIT(B2," ")) {3,2,3,3,2,3,3,2,3,2,3} 可以用REPLACE这个替换函数,我们在第二位开始替换,替换长度为0个长度,然
  • 1
    要求同一产线、同一日期、同一型号的各工序中,加工时间最长的工序完成率大于等于100%时,其它所有工序同样完成率都大于等于100%,则日考核奖励50;若加工时间最长的工序计划达成率小于100%时,其他工序不管完成率多少日考核扣50;若加工时间最长的工序达成率大于等于100%,其他工序有任何一道完成率低于80%则扣除日考核50;若加工时间最长的工序达成率大于等于100%,其他工序最低完成率在80%到99%之间不奖不罚。求公式!!!
  • 0
    问题:返回每个产品每个供应商的最新价格 解: 这个是采购记录,本身就是按日期排序的,要找最新最旧单价,就找最前最后单价 最前用match,最后用lookup 多条件查找的话,可以在公式里将多列合并成一列,内存查询原理跟黄色里一样 最新单价: =INDEX($D$1:$D$24,MATCH(G2&H2,$B$1:$B$24&$C$1:$C$24,0)) 最旧单价: =LOOKUP(9999999999,$D$2:$D$23/($B$2:$B$23&$C$2:$C$23=G2&H2)) 部分版本需要按shift+Ctrl+回车 如果你的数据是日期升序,两个公式反过来用 用空视频讲
  • 0
    问题:判断是否有连续5个月不下单客户 解: 原数据中,产品/数量是无效数据,完成可以不管,只看日期客户列 先筛选出目标客户的全部采购日期 =FILTER($A$2:$A$999,$B$2:$B$999=F2) {45312;45343;45385;.....} 得到全部日期,在取月份 =MONTH(FILTER($A$2:$A$999,$B$2:$B$999=F2)) {1;2;4;4;6;6;6;7;8;8;9;9;10;10;12;12} 这里每个日期转成了月份,这些数字就表示下单的月份(有重复,不在意) 再有完整的1-12去查找,返回每个月是否下单 =MATCH(ROW($1:$12),MONTH(FILTER($A$2:$A$999,$B$2:$B$999=F2)),0) {1;2;#N/A;3;#N/A;5;8;9;11;
  • 0
    问题:连续两个负数就取反,取反后再连续两个负数,迭代取反 A列连续2个负数,就下方的数字取反,取反后再连续负数,在取反 解: 以图中的888为例讲解,B列就是需要显示888或者-888 依据就是,B列对应行,上方,有多个组连续2个负数,多少组就取反多少次 单数组就取反,双数组就负负得正为本身 上方为主要思想逻辑,一定要先理解 然后我们需要怎么知道上方有几组连续负数的 那么上方每个单元格只取首个字符,负数的话取到的是-, 正数的话是其他数字(不需在意是
  • 0
    问题:多条件vlookup查询不同列 根据不同列的进价返回对应出价 解: 查询喂食器时,需要先找到喂食器在原数据中的哪一行,取出对应的进出价格 =OFFSET($B$1:$E$1,MATCH(H2,A:A,0)-1,) {102,1002,202,2002} 可以得到对应的进出价格,但是我们的查询目标是进价,出价数字会对我们干扰,那就把进价/1,出价/0,出价就会报错排除掉了 ={102,1002,202,2002}/{1,0,1,0} {102,#DIV/0!,202,#DIV/0!} 这里只剩下进货价,在查询进价在在哪一列 =MATCH(I2,{102,#DIV/0!,202,#DIV/0!},0) 这样就能知道进价在哪一列,那么
  • 0
    问题:将两表的数据做全部组合 两个黄色表组合成红色表 解: 这种改变结构的需求,很难一步到位,我们可以用辅助列,多步完成 第一步先做出绿色辅助列,将对应订单的码数,生成在订单后面 =FILTER($B$1:$E$1,OFFSET($B$1:$E$1,MATCH(G2,$A$2:$A$5,0),)="√") 这个公式可以取到辅助列效果 取到辅助列后,在用透视表,将G:K的数据,做透视,全部列标题,都放在行标签处理 透视表过程,可以参考这个视频 二维转置成一维,横向数据转竖方向,转置,透视表 有空出视频
  • 2
    问题:表格转置,内容转为行标题 将姓名对应项目的表格,转成项目对应姓名 解: 要汇总项目1,我们就先看数据里,哪一行是包含项目1的 =B2:F10=A15 可以是返回每个单元格是不是项目1 我们只要每行里,有一个是项目1的,就是我们的目标姓名 那就用MMULT矩阵按行求和(这里很难理解) =MMULT(--($B$2:$F$10=$A15),TRANSPOSE(COLUMN($B:$F)^0)) {1;0;2;0;0;1;0;1;1} 得到这个数据,表示,每行包含项目1的个数,我只有大于0的就是我们的目标姓名 在用if,如果>0就返回对应行号,我们先除行号,
    chuiliu83 4-9
  • 0
    请小赖老师帮忙解答下这个题。非常感谢。
    chuiliu83 4-8
  • 0
    问题:已知上班/休假/旷工天数,做随机排班 解:可以先生成一组顺序的指定考勤情况的记录 如第一行,25+3+2,先生成下方效果 {"班","班","班","班","班","班","班","班","班","班","班","班","班","班","班","班","班","班","班","班","班","班","班","班","班","旷","旷","
  • 0
    问题:将姓名按出现次数排序 解: 先用countif统计次数,得到次数后,就可以用次数排序了,如B列 如图2 但是,相同次数的姓名不能明确分堆 可以在排序前,先将姓名排序一次,姓名排在一起后,在按次数排序 也可以将次数加权在加上识别姓名号 次数*100000后 + - match姓名第一次出现在哪行 如C列 再排序,如图3 =COUNTIF(A:A,A2)*10000+MATCH(A2,A:A,0)
  • 1
    老师您好,请问怎样用一个公式解决,两行数值对比大小,判断第二行数值里是否存在大于第一行相对位置的数值,如果第二行里有任意一个大于第一行相对的数值,结果为不合格,都不大于结果合格,谢谢。
  • 0
    问题: 低版本,混合文本提取数字,求和 解: 这种文本问题,没有TEXTJOIN TEXTSPLIT是比较难处理的. 可以用辅助列,分别提取每个数字,再求和 小米手机3599元,手环688.99元,耳机99元 以这个文本为例 提取第一个数字时,将第一个元字替换成100个空格 =SUBSTITUTE(A18,"元",REPT(" ",100),COLUMN(A1)) 小米手机3599 空格空格空格空格空格空格 ,手环688.99元,耳机99元 这个效果,然后切片前100个字符,可以排除掉第一个元字后面的内容 小米手机3599空格空格空格空格空格空
  • 0
    问题:在日期数据里,找前后最接近目标的日期 解: 这是一个非常标准的if的数值用法 =A2:A33<C4可以判断每个日期是否小于目标日期(往前的日期) 如果返回true就表示是小于的日期,就返回本身日期 如果是false就表示不是小于的日期,就返回空,相当于是过滤掉了,大于的日期 =IF(A2:A33<C4,A2:A33,"") {45298;45298;45306;45306;45312;45322;45322;45336;"";"";"";"";"";"";"";"";"";"";"";"";&qu
  • 1
    求问反过来的需求如何实现
  • 0
    问题:删除字符串开头的重复字符 每个字符串,可能前有部分重复,需要删除重复部分字符 解: 我们先假设第1-10个字符,跟第11-20的两组字符是重复的 那就用=MID(A1,1,10)=MID(A1,11,10)来验证是否相同重复 如果是重复的话,就知道前10个字符是重复部分,我就切片第11个字符之后的内容=MID(A1,11,99) 但是 我们不知道第几个字符是重复部分,那我们就从1,2,3,4....一直怀疑,找出最长的重复的字符串长度 也就是假设 第1个是否,是否等于第2 第1-2是否等于3-4 第1-3是否等于4-6 第1
  • 0
    问题:文本字符串条件求和 有数字按数字,没数字按1求和 解: 需要求和白色数据的数量 目前数据多行数据,而且一个单元格内有多个白色 那我们就先把多个内容合并成一个,然后在拆分成单个数据 =TEXTJOIN("+",1,B2:B16) 白色14+黑色+红色+白色+小米+...... 还有个问题,部分白色后面没有数字 我们需要查找"小米+"替换成"小米1+",这样没有数字的数据,就用数字1了 需要文本最后加上+,保证最后白色也能替换白色1 =SUBSTITUTE(TEXTJOIN("+",1,$B$2:$
  • 0
    问题:将ABCD乱序选项排序成顺序的 多行数据,分别按列排序 解 如果有SORT函数的话,可以直接排序 =SORT(B2:E2,,1,1) 就可以接排序出ABCD的顺序 方案2 {"C.答案","B.答案","A.答案","D.答案"} 先把答案中的选项中的第一个字符切片出来 =LEFT(B2:E2,1) {"C","B","A","D"} 文本的话,不能做small排序,那我们就将ABCD转成字码后在从小到大提取 =CODE(LEFT(B2:E2,1)) {67,66,65,68} 这样就可以排序了,但是直接排序没有意义 我们需要
  • 0
    问题:判断是否超时 A列是分钟数,B列是时分秒格式,判断是否超过分钟数 解; 这是很标准的时间运算 0:27:30这个时分秒,实际上他在表格内的数值是0.0190972222222222 也就是一天就记做1,,,,,27分30秒,占一天24小时中的比例,的小数就是他的数值 那我们也把39分钟的39转化成0:39:00对应的数值,就可以直接比较了 =A2/60/24 0.027083333 得到的数字,直接做大于小于的判断,就知道是否超时了 =B2>A2/60/24 这样可以得到true false的结果,在配合if返回文字提现 =IF(B2>A2/60/24,"超
  • 1
    问题:区间数据,按区间条件计数 按D列区间,统计B列有交集的区间数量 解: 要统计有多少个数据涉及到200-500范围内 细化问题就是我们要判断800-1200跟200-500是否有交集 是否交集,我们就判断, B列的两个数据节点800,1200是否有一个节点在200-500内 那就是判断, 800大于200,而且小于500 1200大于200而且小于500 这两组条件,有一组成立的话,就表示800-1200跟200-500有交集,否则无交集 这里比较难理解,看下面两个例子 上面是思路,现在要按思路写出来,也很麻烦,但是主要是一
  • 0
    问题:查找连续出现5年的数据 筛选出A列时间中,对应有5年记录的姓名 解: 方案1,非常简单 如果你的数据是,每个姓名每年只是记录一次的话 那么5年记录里,他出现5次的话,就表示,他是连续5年出现 =COUNTIF(B:B,B2) 这样可以直接计算出,该姓名的出现次数,筛选5的就是你要的数据 或者筛选非5的删除掉 方案2 如果一个姓名,在同一年会多次出现, 那么就需要取出全部日期后,再去重年份计算 =FILTER($A$2:$A$37,$B$2:$B$37=B2) {42081;43084;43479;43773} 可以得到该姓名的全部日期 =
  • 0
    问题:多条件查询,行列条件查询 解: 我们现在的查询函数,都是单条件的,要用多条件的话,可以将多条件合并成一个条件后再查询 例如,要查询高数的第一课的话,可以把两个条件合并一起,"高数-第1课" 这样子作为条件查询 那原数据也需要在内存里合并两个条件列,如右图 这样子呢 我们就转成了单条件查询了 在用match查找位置,再index返回C列数据 =MATCH($E2&"-"&F$1,$A$1:$A$28&"-"&$B$1:$B$28,0) 这里要注意行列的绝对引用 知道数据在
  • 0
    问题:替换第1/3/8个关键词,保留其他位置的 解: WPS没啥好方案吧,Excel365应该有新函数好解决 这里大概是用关键词分隔文本,再在各个文本的前面&上本身的关键词或者新关键词 =CONCAT(IFERROR(IFERROR(IF(MATCH(ROW($1:$99)-1,--{0,1,3,8},0)>1,"BB",""),"AA")&TEXTSPLIT(A1,,"AA"),"")) 有点细节问题,不好打字,有空出视频
  • 0
    问题:提取指定整列 根据黄色的列头,提取绿色列头的整列内容 解: 要返回指定条件的列,那就可以理解成,在T-1下方返回,原表中的每行内容 那就要先知道T-1的数据在哪一列 =MATCH(B$11,$B$1:$G$1,0) 可以返回目标内容的在原表中的哪一列 知道列号后 我们还要依次返回他的12345..行的数据 =ROW(A1) 往下拖动就能生成1234的序号 有行列号了,就index取对应内容 =INDEX($B$2:$G$6,ROW(A1),MATCH(B$11,$B$1:$G$1,0)) 往下往右拖动 2. 如果想找原表删除点不要的列 可以做一个辅助行,将需
  • 0
    问题:返回相同内容最多的文本 找最相似的内容 解: 需要切片查找文本里的每个文本,再在每个备查文本里查找 =MID(C1,COLUMN(A:Z),1) {"7","格","5","列","高","位","","",...} 可以得到每个字符,后面会切片到很多空值,这里不影响 用这些字符,在A列查找find =FIND(MID(C1,COLUMN(A:Z),1),A2:A12) 这样返回每个字符是否在对应单元格 题目要求找相同字符最多的内容 那就把找到返回1,没找到的返回0,在矩阵求和 =IFERROR(FIND(M
  • 0
    问题:判断两个单元格是否有相同数字 或者统计相同子字符个数 解: 要判断两个单元格是否有子字符相同, 就可以用一个单元格的每个字符,在另外一个单元格查找 能查找到的话,就是有重复 那就先切片没一个字符,不知道有几个字符,就统一切片9个长度 =MID(A2,ROW(1:9),1) {"4";"2";"7";"1";"2";"5";"";"";""} 在用这些字符在B2里查找 注意,字符数不到9位时,后面会切片到一些""空字符 空字符查找
  • 0
    问题:复杂行列数据,汇总成行方向求和 根据图1的项目名称/ID/不同单价, 汇总成图3 解: 原数据行列关系复杂,需要先整理去,干净汇总主体 公式转置格式比较困难,可以手工转换 先复制ABC列的有效数据. 再拼接复制粘贴ABF列有效数据 再拼接复制粘贴ABI列有效数据 并在前面写上对应的项目号 如图2所示 然后在选择图二的有效内容--数据--重复项--删除重复项 再删除一些空白行 就可以得到图3的前面4列效果,在用公式算出数量/金额列 至于数量列的公式,算是一
  • 0
    问题:统计有效拜访的季度数 ABC列为拜访记录,FG是客户关系表 1-4月,5-8月,9-12月为3个季度,1个季度内,同客户只算一次 需要在JK列统计有效的季度数>=2次的客户数量 解: 直接计算的话,有多维运算,很难处理 那就可以先在H列,算出,对应的业务员跟客户的有效季度次数 那就判断,B列内容包含目标业务员,而且,C列客户为目标客户的 就返回会A列的日期 但是本题要的不是日期,是要季度,那需要先提取月份,在match返回季度序号 先来理解季度函数 =MATCH(MONTH($A$2:$A$30),
  • 0
    问题:相同编号的正负冲单金额,一一抵消,保留有效数据 解: 想要把正100跟负100,一一抵消的话 那就要先算出+100的个数,跟-100的个数 =COUNTIFS(B:B,B2,C:C,-C2) 这个公式可以算出,第一行的,+100的,相对的-100的,整个表格的,个数 假如有3个-100的话,那么同编号的前面3个+100的明细都可以抵消掉 =COUNTIFS(B$1:B2,B2,C$1:C2,C2) 这个公式可以算出,第一行到当前行,有多少个+100 也就是可以理解成,这个是第几个+100 那么全表有3个-100,那么第123个+100的数据,都是可以抵消的 那么我们就
  • 0
    问题:统计列时间小于A列时间的次数 解: 需要判断时间大小,就需要先切片出每个时间来 TEXTSPLIT(C27,"-","|") 可以把每组通话的没个参数切片成行列,如图1 在转换成数字格式,再跟目标时间对比 目标时间是年月日格式,需要先去整,取余,取时分秒数据 =--TEXTSPLIT(C27,"-","|")<MOD(A27,1) 结果如图2 2 4列的文本直接报错,没关系 第1列的就是我们要的结果,true的数量就是我们的目标次数 3列,是秒数,不报错,参与计算,会影响结果 那我们就第1
  • 0
    问题:超长的二进制转成10进制 超过了BIN2DEC()的限制 解: 先理解2进制的本质 二进制数字ABCDE,本质的数值就是 A*2^4+B*2^3+C*2^2+D*2^1+E*2^0 就是各位数*2的依次递减的次方,在求和 理解数学概念后 0110011001011101100111110 需要先切片各位数字 =MID(A1,ROW(1:99),1) {"0";"1";"1";"0";"0";"1";"1";"0";"0";....} 再从最后面的有效数字,依次乘上2的01234..次方 也就是从左边开始,乘上2的N-1,N-2,N-3的次方(N是总位数) =LEN(A1)-ROW(
  • 0
    问题:查询最接近目标时间的数据 不管迟早,找最接近的 解: 要找最接近的,就需要先找出全部时间跟目标时间的相差值,再取最小值 时间数据可以直接加减乘除运算 =A2:A31-D4 可以得到所有的相差时间,但是有正负,在用abs算绝对值,然后在min取最小时间 =MIN(ABS(A2:A31-D4)) 0.083336315 这个结果就是最小的时间差值(单位是天,这里可以不在意) 然后在判断每个的时间差是不是等于这个最小值 =ABS($A$2:$A$33-D4)=MIN(ABS($A$2:$A$33-D4)) {FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;........} 结果中的
  • 0
    问题:将请假的日期展开 不管周末 =CONCAT(IF((B$17>=$C$2:$C$9)*(B$17<=$D$2:$D$9)*($A$2:$A$9=$A18),$B$2:$B$9,"")) 周末不做备注 =CONCAT(IF((B$17>=$C$2:$C$9)*(B$17<=$D$2:$D$9)*($A$2:$A$9=$A31)*(WEEKDAY(B$30,2)<6),$B$2:$B$9,""))
  • 6
    如何利用条件格式实现某一个区域内Excel单元格里含有特定重复文本时整个标黄,若查询的重复文本为:蓝、红,A1单元格里为“浅蓝,深蓝,黑”就会变黄,单位格里为“浅红,黄,深红”也会标黄,请大神帮忙解决下
    cxjsn123 12-25
  • 0
    问题:根据产品,自动生成下拉菜单 D列写入产品后,E列可以下拉菜单选择单价 解: 下拉菜单,用数据-有效性-序列,可以指定某个连续的单元格作为下拉选择的内容 先用公式获取到产品对应对的单价区域 例如要找C产品的对应单价区域 要先对产品排序,将相同的产品排在一起 然后,取到C产品的行号,跟单价个数,在用offset取对应内容 =OFFSET($B$1,MATCH(D2,A:A,0)-1,0,COUNTIF(A:A,D2)) 在把这个公式放在有效性里 就行了
  • 0
    问题:判断号码是否在指定数字串内 同时包含多关键词 判断B列号码是否都存在指定号段内 解: 查找关键词,就用find(),本题需求需要切片每个数字来查找 =MID($B3,{1,2,3},1) {"6","9","0"} 切片出每个数字,找find =FIND(MID($B3,{1,2,3},1),C$2) {6,#VALUE!,#VALUE!} 返回数字就表示该位置的字符存在,几个数字,就有几个字符存在 用count计算数字个数,(会忽略错误),再判断是不是等于3 =COUNT(FIND(MID($B3,{1,2,3},1),C$2))=3 这个公式可以放到条件格式里,同时存在的单元
  • 4
    问题:多个数据合并成数据*数量格式 1+1+2+3+3+3,写成1*2+2+3*2 解: 可以用countif统计每个数据的个数 =COUNTIF(B1:J1,B1:J1) {4,3,1,3,4,1,3,4,4} 算出个数后,在&本身 =B1:J1&"*"&COUNTIF(B1:J1,B1:J1) {"8*4","9*3","13*1","9*3","8*4","11*1","9*3","8*4","8*4"} 但是有部分重复字符,就在去重再合并 =TEXTJOIN("+",1,UNIQUE(B1:J1&"*"&COUNTIF(B1:J1,B1:J1),1)) 8*4+9*3+13*1+11*1 部分版本要按shift+Ctrl+回车 如果1个数
  • 0
    问题:按条件返回列标题 返回指定店铺,不合格的日期 解: 比较标准的数组公式 判断B2:H9的区域,是不是等于"不合格" 而且A列=目标店铺的,就取列标题 这里有标准的数组一列 对 多行多列的运算 =IF(($B$2:$H$9="不合格")*($A$2:$A$9=A15),$B$1:$H$1,"") "{""星期1"",""星期2"","""","""","""","""",""星期7""; """","""","&
  • 0
    问题:找最后有效的合并单元格 找第3行最后的非空单元格对应的1 2行内容 解: 这是两个单独的需求,取最后的年,跟取最后的月 先取月,这是一个比较标准的lookup取最后的套路 =0/(B3:P3<>"") {0,0,0,0,0,0,0,#DIV/0!,#DIV/0!,#DIV/0!,#DIV/0!,#DIV/0!,#DIV/0!,#DIV/0!,#DIV/0!} 先将3行的空单元格做成错误,非空的做成数字 再lookup取最后(标准用法,以前解释过) =LOOKUP(1,0/(B3:P3<>""),B2:P2) 2月 取年,有合并单元格,比较麻烦 =IF((B3:P3<>"")*(B1:P1<>""),B
  • 0
    问题:条件数据混合在一起的,怎么做条件求和 A列中,每两个单元格为一组,分别表示每个产品跟对应数量,要求按产品求和 解: 这个是非常不标准的数据结构,建议选中A列,用/分列 分列成这个格式 然后在sumif求和 条件区域是红色的行,求和区域是绿色的行 有重叠部分,也是可以的,只有区域大小一致的就行 =SUMIFS(H7:J11,H6:J10,"A") 不破坏原数据的话,就放内存里分列 方案就是先取13579行的产品文本合并在拆分 =TEXTSPLIT(TEXTJOIN("/",1,T(OFFSET(A1,ROW(1:99)*2-2,
  • 0
    问题:将销售表按起止日期条件求和 销售表是年月日时分秒,求和表是年月日格式 解: 这就是sumifs的问题,但是时间区间条件求和,需要使用">" "<"来表达 =SUMIFS(C:C,A:A,">="&H2) ">="&H2 这样表示大于H2单元格的时间的条件求和 那就在加上 小于I2的时间,就是两个单元格之间的时间区间的求和 =SUMIFS(C:C,A:A,">="&H2,A:A,"<="&I2) 这样就可以求和,10月1 到 10月20的区间求和 但是,A列是时分秒格式,10月20日12
  • 0
    问题:序号与总数不对,找缺的或重复的 A列是排序好的序号,30行,只有29个序号,明显不对,找出缺的序号 解: 最快方法就是判断下面序号-上面序号,结果不等1,就表示这两个序号不是连续的 在C2单元格做辅助列,=A3-A2,往下填充 筛选不是1的内容,该位置的地方,序号就是不连续的 等0就是重复的,大于1的就是缺失的 方案2: 30行,那就在序号列,统计1-30的数字的出现次数 =COUNTIF(A:A,ROW(1:30)) 可以得到每个序号的次数,0就是缺的,1是正常,>1是重复 0 1 >1不好做分类处理
  • 0
    问题:成绩表转成绩单,工资表转多行工资条 图片看不清就看在线表格 【金山文档】 成绩单工资条https://kdocs.cn/l/crwpxAEYEJGr
  • 0
    问题:3组数字,找出同时重复的数字 解: 要3行同时重复,那我们就用A组每位数字,在BC查找,都能找到的话,就是同时重复 =MID(B1,COLUMN(A:J),1) 1 0 0 6 5 3 9 4 再把每位数字,都在BC里查找 =FIND(MID(B1,COLUMN(A:J),1),B2:B3) 1 5 5 #VALUE! #VALUE! 3 2 #VALUE! 1 1 1 #VALUE! #VALUE! #VALUE! #VALUE! 7 3 2 1 1 有数字的,就表示A数字该位置上的数字,是存在的 我们需要同一列,上下两个都是数字的话,A列该位置的数字,就同时重复 那就iferror错误处理后MMULT求和 =MMULT({1,1},IFERROR(FIND(MID(B1,COLUMN(A:J),1),B2:B3)^0,
  • 0
    问题:按行列方向多条件合并同类项 讲C列数据,按AB列的分类根据汇总表的行列标题,合并内容 解: 这也是很标准的数组公式 思路是,判断姓名列=目标姓名,而且,科目列=目标科目,就取对应C列成绩,否则取空 =($A$2:$A$40=$G2)*($B$2:$B$40=H$1) {1;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0} 为1的就是对应的符合两个条件的单元格 我就取C列 =IF(($A$2:$A$40=$G2)*($B$2:$B$40=H$1),$C$2:$C$40,"") {143;"";127;"";"";"";"";"";&

  • 发贴红色标题
  • 显示红名
  • 签到六倍经验

赠送补签卡1张,获得[经验书购买权]

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!

本吧信息 查看详情>>

会员: 会员

目录: 个人贴吧