中易网

excel里需要将前一个单元格(包括汉字、数值)里的(数值)东西移到后一个单元格里怎样能最快捷呢?

答案:6  悬赏:50  
解决时间 2021-04-27 13:42
  • 提问者网友:饮鸿
  • 2021-04-27 10:55
前一个单元格(汉字、数值)里的(数值)移到后一个单元格里呢;不采用光标选择数值复制,再粘贴,因为量太大了,这样会整死人的,希望能有什么命令能够直接移动最好。谢谢
最佳答案
  • 二级知识专家网友:闲懒诗人
  • 2021-04-27 11:01

给你一个自己定义的函数


打开你的表。


ALT+F11 打开VBA编辑窗口


在菜单中选择 插入》模块


然后把下面的代码复制到右边的窗口中


Function ZF(源 As Range, 类型 As Integer) As String
Dim ttI As Integer
tt = 源.Text
For i = 1 To Len(tt)
    ttI = Asc(Mid(tt, i, 1))
    Select Case 类型
    Case 1
    If ttI >= 48 And ttI <= 57 Then ZF = ZF & Chr(ttI)
    Case 2
    If (ttI >= 65 And ttI <= 90) Or (ttI >= 97 And ttI <= 122) Then ZF = ZF & Chr(ttI)
    Case 3
    If ttI < 0 Then ZF = ZF & Chr(ttI)
    Case Else
    ZF = "参数值错误"
    Exit For
    End Select
Next i
End Function


再按 ALT+F11 回到EXCEL中


你就可以像使用内置函数一样使用这个函数了。


方法


=ZF(源字符串,取何种字符)


其中 源字符串是完整的字符串,或单元格引用。


取何种字符 1为取 数字 2 为取英文字符,3为取汉字


示例:




全部回答
  • 1楼网友:怪咖小青年
  • 2021-04-27 13:58

1、汉字在前:

=RIGHt(A1,(LEN(A1))*2-LENB(A1))

2、汉字在后:

=LEFt(A1,(LEN(A1))*2-LENB(A1))

3、前后均有汉字:

=LOOKUP(9E+307,--MId(A1,MIN(FIND({0;1;2;3;4;5;6;7;8;9},A1&1234567890)),ROW(INDIRECT("1:"&LEN(A1)))))

  • 2楼网友:末路丶一枝花
  • 2021-04-27 13:25
这么复杂?在前面“插入”——“单元格数值右移”不行吗?
  • 3楼网友:陪衬角色
  • 2021-04-27 13:00
例如汉字、数值单元格在A1 则在B1中输入公式: =LOOKUP(9E+307,--MId(A1,MIN(FIND({0;1;2;3;4;5;6;7;8;9},A1&1234567890)),ROW(INDIRECT("1:"&LEN(A1))))) C1中输入公式:=SEARCH(B1,A1) D1中输入公式:=REPLACE(A1,C1,LEN(B1),"") 并将上述公式下拉复制到B、C、D列的其他单元格中 则B列和D列就是你要的数据
  • 4楼网友:走,耍流氓去
  • 2021-04-27 12:43

用公式

从文本中提取数值的公式。 =IF(SUMPRODUCT(--ISNUMBER(FIND(ROW($1:$9),A1))),LOOKUP(9E+307,--MId(A1,MIN(FIND(TRANSPOSE(ROW($1:$10)-1),A1&1234567890)),ROW(INDIRECT("1:"&LEN(A1))))),0) 是数组公式,按ctrl+shift+enter结束

不过最好能先看下你的真实数据是怎样的,比较好

  • 5楼网友:浪女动了心
  • 2021-04-27 12:37

选定要移动的单元格以后把鼠标移动到该单元格的边缘,这时会出现一个黑色的十字,按着左键把它拖到你想移动到的位置放开左键就可以移动了,前提是你所要移动的位置里不能有数字或是文字!希望能帮到你

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