这个excel表格公式怎么写

 我来答
19028452
2019-03-20 · TA获得超过536个赞
知道小有建树答主
回答量:1046
采纳率:59%
帮助的人:310万
展开全部

我觉得也可以构建一个升序+降序的序列字符串,然后在这个序列中查找值,如果找到就可以看成是顺子,但是还有一些比较特殊的顺序,需要使用其他函数,效果如下:

公式:

B1=IF(IFERROR(FIND(A1,"809012345678901234567898765432109876543210908"),0),"顺子",IF(SUM(1*(ABS(MID(A1,ROW(INDIRECT("1:"&LEN(A1)-2)),1)-MID(A1,ROW(INDIRECT("2:"&LEN(A1)-1)),1))={1,1,2,1,8,9,8,1,9})*(ABS(MID(A1,ROW(INDIRECT("1:"&LEN(A1)-2)),1)-MID(A1,ROW(INDIRECT("3:"&LEN(A1))),1))={1,2,1,8,9,8,1,9,1}))=(LEN(A1)-2),"顺子","非顺子"))

公式为数组函数,公式输入后,需Ctrl+Shift+Enter三键齐按结束,excel自动生成{},我想这个应该基本可以包括了。

山桑弓
2019-03-19 · TA获得超过1.2万个赞
知道大有可为答主
回答量:7793
采纳率:66%
帮助的人:2921万
展开全部
如果原始数据在A1:A100,B1中输入
=IF(MIN(MMULT(FIND(MID(A1,{1,2,3},1),MID("012345678901",ROW($1:$10),3)&1234567890),{1;1;1}))=6,"顺子","非顺子")
下拉,就行了。
介绍一个思路,先人工制造一些辅助片段,=MID("012345678901",ROW($1:$10),3)
=MID("012345678901",{1;2;3;4;5;6;7;8;9;10},3)
{"012";"123";"234";"345";"456";"567";"678";"789";"890";"901"}
凡是连号的,都是三个数字都能在其中一个片段中全部找到的,
=MID(A1,{1,2,3},1)
=MID(201,{1,2,3},1)
={"2","0","1"}
这个就是把每个三位数的每一个都取出来,以A1的201为例子。
FIND({"2","0","1"},{"012";"123";"234";"345";"456";"567";"678";"789";"890";"901"}&1234567890),{1;1;1})
就是用三个数字在每个片段中都位置,得到结果为
=FIND({"2","0","1"},{"012";"123";"234";"345";"456";"567";"678";"789";"890";"901"}&1234567890)
=FIND({"2","0","1"},{"0121234567890";"1231234567890";"2341234567890";"3451234567890";"4561234567890";"5671234567890";"6781234567890";"7891234567890";"8901234567890";"9011234567890"})
后面都拼上1234567890,就是为了不会出现错误值,使每个查找都有个结果,反正如果没有,找到的都至少是4或以上了
={3,1,2;2,13,1;1,13,4;5,13,4;5,13,4;5,13,4;5,13,4;5,13,4;5,3,4;5,2,3}
=MMULT({3,1,2;2,13,1;1,13,4;5,13,4;5,13,4;5,13,4;5,13,4;5,13,4;5,3,4;5,2,3},{1;1;1})
这个就是利用矩阵求和的方法,把分散的每三个数的位置都再求和出来。
{6;16;18;22;22;22;22;22;12;10}
MIN({6;16;18;22;22;22;22;22;12;10})
=6
只有查找位置分别为1、2、3,1+2+3,才会出现6,如果有1个6,就代表它符合其中一个片段,其它的任意结果,都会大于6。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jelifq
2019-03-19 · TA获得超过4.2万个赞
知道大有可为答主
回答量:1590
采纳率:68%
帮助的人:707万
展开全部
B1单元格写公式:
=IF(ISERROR(FIND(TEXT(SUM(SMALL(--MID(A1,ROW($A$1:INDEX(A:A,LEN(A1))),1),ROW($A$1:INDEX(A:A,LEN(A1))))*10^(LEN(A1)-ROW($A$1:INDEX(A:A,LEN(A1))))),REPT("0",LEN(A1))),"0123456789089019")),"非顺子","顺子")
然后选定B1单元格后鼠标点击进去上面的公示栏,然后按Ctrl+Shift+Enter/回车三键(按住Ctrl+Shift两键,然后按Enter/回车),直至公式首尾出现{ },然后向下拖动填充B1单元格公式到B列下面的单元格。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
re...1@163.com
2019-03-19 · TA获得超过178个赞
知道小有建树答主
回答量:102
采纳率:100%
帮助的人:15.8万
展开全部
公式不计算,显示的是公式而不是结果,有以下几种情况:
1、公式所在单元格格式为文本。
解决方法:
讲公式所在的单元格格式设置为常规,进入一次编辑状态即可。
2、显示公式功能被开启了,公式选项卡里的显示公式按钮为橙色表示功能开启。
解决方法:点击一下即可。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xxcanying
2019-03-19 · TA获得超过407个赞
知道小有建树答主
回答量:414
采纳率:66%
帮助的人:106万
展开全部
在B1单元格写入公式:
=IF(OR($B1=901,$B1=109,$B1=890,$B1="098",AND(ABS(LEFT($B1,1)-MID($B1,2,1))=1,ABS(MID($B1,2,1)-RIGHT($B1))=1,ABS(LEFT($B1)-RIGHT($B1))=2)),"顺子","非顺子")
然后将鼠标放到B1单元格右下角,下拉公式。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式