永发信息网

EXCEL公式求助,一列数字中包含0-9,要求取后面7个

答案:3  悬赏:10  手机版
解决时间 2021-11-13 01:44
  • 提问者网友:杀生予夺
  • 2021-11-12 19:28
EXCEL公式求助,一列数字中包含0-9,要求取后面7个
最佳答案
  • 五星知识达人网友:猎心人
  • 2021-11-12 20:00
1、源数据先转换成文本格式:
选定——菜单栏——数据——数据工具——分列——下一步——下一步——列数据格式:文本(点选)——确完成。
2、F17输入
=RIGHt(MId(SUM(MId(PHONETIC(OFFSET(D2,,,COUNTA(D:D),))&5^19,SMALL(FIND(ROW($1:$10)-1,PHONETIC(OFFSET(D2,,,COUNTA(D:D),))&5^19),ROW($1:$10)),1)/10^ROW($1:$10)),3,COUNT(FIND(ROW($1:$10)-1,PHONETIC(OFFSET(D2,,,COUNTA(D:D),))))),7)
数组公式,输入后先不要回车,按Ctrl+Shift+Enter结束计算。

你要后8位的,把公式最后面的参数“7”改为“8”即可。
追问按照你这个公式结果不对啊,应该是0152439你这个公式是7924015取得结果不对。追答是你错了!你要求取最后出现的7个数字,“3”是第一个数据(D2)哦。追问对,我说错了,我要的是从D17
往上取7个不重复的数字,请问公式怎么写?追答公式往往都是从上到下、从左到右。你要从下往上,公式会很累赘。
用辅助列吧:
E2输入
=INDEX(D:D,COUNTA(D:D)-ROW(1:1)+2)
回车并向下填充,再选E列用选择性粘贴转换成数值。
上面的数组公式公式改为:
=LEFt(MId(SUM(MId(PHONETIC(OFFSET(E2,,,COUNTA(E:E),))&5^19,SMALL(FIND(ROW($1:$10)-1,PHONETIC(OFFSET(E2,,,COUNTA(E:E),))&5^19),ROW($1:$10)),1)/10^ROW($1:$10)),3,COUNT(FIND(ROW($1:$10)-1,PHONETIC(OFFSET(E2,,,COUNTA(E:E),))))),7)

全部回答
  • 1楼网友:洒脱疯子
  • 2021-11-12 21:47
  1. 建立一个Function进行删除重复数据

    Function RemoveDuplicateCell(text As String)
        Dim j As String
        For i = 1 To Len(text)
            j = Mid(text, i, 1)
            If InStr(RemoveDuplicateCell, j) = 0 Then RemoveDuplicateCell = RemoveDuplicateCell & j
        Next
    End Function

  2. 然后掉用这个Function 在F17上面输入公式如下

    =LEFt(RemoveDuplicateCell(CONCATENATE(D17,D16,D15,D14,D13,D12,D11,D10,D9,D8,D7,D6,D5,D4,D3,D2)),7)

    上面的‘7’是可以更改,根据你想要显示多少位。然后CONCATENATE你也可以选择是从上到下还是从下到上。

  • 2楼网友:轻雾山林
  • 2021-11-12 20:45

增加以辅助列,比如E列

E2输入

=INDEX(D:D,MAX(IF(COUNTIF(E$1:E1,$D$2:$D$17)=0,ROW($2:$17),0)))&""

数组公式,先按住CTRL+SHIFT,最后回车

公式下拉

为清晰起见,E列可隐藏

F17输入

取倒数7位

=CONCATENATE(E2,E3,E4,E5,E6,E7,E8)

取倒数8位

=CONCATENATE(E2,E3,E4,E5,E6,E7,E8,E9)

取倒数9位

=CONCATENATE(E2,E3,E4,E5,E6,E7,E8,E9,E10)

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯