Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 5428|回复: 18

[已解决]来个函数小题动动脑 (无所谓老师解题)

[复制链接]
发表于 2014-8-21 00:54 | 显示全部楼层 |阅读模式
本帖最后由 丢丢表格 于 2014-8-22 17:23 编辑

说明:        
这是 赵、钱、孙、李 四人打麻将的记录        
凡谁胡了,就在其姓后加个字        
流胡局 就叫 “”        
        
单胡: 就是下一局给别人胡掉了的 只算该人一局        
二连胡: 连胡二把,中间只隔 “流”局的算连。如 B17:B23  中 钱姓 胡 4 把。        
三连胡: 连胡三把, 中间只隔 “流”局的也算连        
四连胡 …………        
        
要求:  计算 单局赢的总次数,  及连胡 1、2、3、4、5、6、7、8、9 的总次数。        
难点: 中间隔讨厌的 “流”。        
请用函数写,不要借辅助!        
        
我这里是辅助法求解的,G 列是计算结果。        
公式 写在 H 列        

   (我的公式长度 小于150 字)


最佳答案
2014-8-22 17:01
  1. =SUM(N(FREQUENCY(IF(B$2:B$341<>"流",A$2:A$341),(A$2:A$342-1)*(LOOKUP(A$2:A$342,A$2:A$342/(B$1:B$341<>"流"),B$1:B$341)<>B$2:B$342)*(B$2:B$342<>"流"))=A2))
复制代码

计算胡把数1.zip

23.58 KB, 下载次数: 52

发表于 2014-8-21 09:46 | 显示全部楼层
回复

使用道具 举报

发表于 2014-8-22 09:45 | 显示全部楼层
  1. =SUM(N(FREQUENCY(IF(B$2:B$341<>"流",A$2:A$341),IF(MMULT(CODE(LOOKUP(A$2:A$341+{0,1},IF(B$2:B$341<>"流",A$2:B$341))),{1;-1}),A$2:A$341))=A2))
复制代码

评分

参与人数 7 +25 金币 +20 收起 理由
26759761@qq.com + 20 赞一个!
笑眼晴天 + 3 很给力!
丢丢表格 + 1 请再改进一下
《渐行渐远》 + 3 赞一个!
Excel学徒123 + 3 赞一个!

查看全部评分

回复

使用道具 举报

发表于 2014-8-22 10:06 | 显示全部楼层

点评

你杂了?热的滴汗  发表于 2014-8-22 11:25
回复

使用道具 举报

 楼主| 发表于 2014-8-22 10:16 | 显示全部楼层
孤单无所谓 发表于 2014-8-22 09:45

谢老师的参与。
当 B 2  为“流” 时, 值就出现问题。
请老师再改进一下。

回复

使用道具 举报

发表于 2014-8-22 10:59 | 显示全部楼层
  1. =SUM(N(FREQUENCY(IF(B$2:B$341<>"流",A$2:A$341),IF(MMULT(CODE(IFERROR(LOOKUP(A$2:A$341+{0,1},IF(B$2:B$341<>"流",A$2:B$341)),)),{1;-1}),A$2:A$341))=A2))
复制代码
那就多加个iferror

评分

参与人数 1 +3 收起 理由
丢丢表格 + 3 是取巧了, 要是改名为 赵四 及 赵二 、 CO.

查看全部评分

回复

使用道具 举报

发表于 2014-8-22 11:53 | 显示全部楼层
  1. =SUM(N(FREQUENCY(ROW(A:A),IF(MMULT(CODE(MID(SUBSTITUTE(PHONETIC(B:B),"流",),ROW($3:400)*2-{3,1},1)&0),{-1;1}),ROW(A:A)))=A2))
复制代码
换个思路
回复

使用道具 举报

发表于 2014-8-22 11:55 | 显示全部楼层
本帖最后由 孤单无所谓 于 2014-8-22 12:04 编辑

      .
回复

使用道具 举报

 楼主| 发表于 2014-8-22 12:10 | 显示全部楼层
孤单无所谓 发表于 2014-8-22 10:59
那就多加个iferror

针对我的题,顺利通过,  只不过还是取巧了。(所以没有把你设为最佳答题)
多谢老师。

(能不能来个不取巧的公式?)

点评

你发题时没说啊  发表于 2014-8-22 12:13
回复

使用道具 举报

发表于 2014-8-22 12:13 | 显示全部楼层
本帖最后由 笨笨四 于 2014-8-22 12:25 编辑

这个呢:SUM(INT((COUNTIF(B:B,"*胡")*2+2-LEN(SUBSTITUTE(SUBSTITUTE(PHONETIC(B:B),"流",),REPT({"赵胡";"钱胡";"孙胡";"李胡"},A2),)))/(2*A2)),-(INT(A3:A11/A2)*H3:H11))
请丢丢老师过目。

规定只有1至9连胡,没10连胡。

当然,如果有99连胡,也不是不可以,int(A3:A11/A2)*H3:H11),改成99就OK

取巧只是前面部分countif,可以用len计算总长度,然后rept里面改成全名就OK。
想来这应该不是丢丢老师出本题的核心部分。

评分

参与人数 1 +2 收起 理由
丢丢表格 + 2 老师实能取巧 ,要是全名 长度不一的话?

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-16 01:03 , Processed in 0.272132 second(s), 20 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表