如何将每个“_”从列复制到另一个

时间:2018-03-02 22:44:58

标签: excel excel-formula copy-paste

我有2列A和B

列有数据

B列为空

我想将A中包含“_”的每个单元格复制到具有相同单元格编号的B列上

https://i.imgur.com/fsnPneX.jpg

有办法吗?

1 个答案:

答案 0 :(得分:0)

如果你只想让B栏与A在同一行,如果A有一个“_”那么A的值,那么在B2中,例如,put

=IF(ISNUMBER(SEARCH("_",A2,1)),A2,"")

然后向下拖。

如果您确实需要A移动到B以使A为空,则需要VBA。

Formula

或使用代码:

Sub Move()

Dim loopRange As Range

Set loopRange = ActiveSheet.Range("A1:A5") 'change as appropriate

Dim currCell As Range

For Each currCell In loopRange

If InStr(1, currCell.Value, "_", vbBinaryCompare) > 0 Then

    currCell.Offset(, 1) = currCell
    currCell = vbNullString

End If

Next currCell

End Sub

如果您在B列中有数据并希望将A列数据移到另一列,请更改此处的数字:

currCell.Offset(, 1) = currCell

其中1是向右移动到另一个数字的列数,例如

C列为

,D列为3

e.g。

currCell.Offset(, 2) = currCell将数据移至C列

您还可以通过添加filter,右键单击,然后在过滤器框中,在“数字过滤器”所在的位置添加Googlesheets filter,然后输入“ _ 来过滤A列“在空盒子里(没有”“)。这会将列表过滤为包含“_”的项目。

对于不支持通配符(例如*)的GoogleSheets,您只需转到数据标签>添加过滤器>然后在过滤器框中输入“_”。

https://docs.oracle.com/cd/E11882_01/appdev.112/e40758/d_cqnotif.htm#ARPLS65637