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

问题描述 投票:-1回答:1

我有2列A和B.

列有数据

B栏是空的

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

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

有没有办法做到这一点?

excel excel-formula copy-paste
1个回答
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列为2,D列为3

EG

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

您还可以通过添加filter,右键单击,然后在过滤器框中,在其中显示“数字过滤器”的位置,在空框中键入“_”(不使用“”)来过滤A列。这会将列表过滤为带有“_”的项目。

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

Googlesheets filter

© www.soinside.com 2019 - 2024. All rights reserved.