excel - 删除 || (管道)在列内文本的末尾
问题描述
我有这个问题,我似乎无法解决......
在 LI 列中有一定的角色,这些角色用 || 来划分 (管道)。
问题:有些人提供他们想要使用的这些角色,如下所示:
Testing||Admin||Moderator||
但这不适用于我们用来导入这些角色的脚本,我想看到的是,每当 || (管道)被使用,并且在使用管道之后如果没有任何文本跟随它应该删除最后的管道。
我尝试的是查找和替换选项,但这也删除了文本之间的管道。
希望可以有人帮帮我!
问题:
Testing||Admin||Moderator||
解决方案:
Testing||Admin||Moderator
解决方案
一个简单的公式就能解决你的要求
=IF(RIGHT(TRIM(A1),2)="||",LEFT(TRIM(A1),LEN(TRIM(A1))-2),A1)
上述公式基于以下逻辑。
- 检查正确的 2 个字符是否
||
- 如果“是”,则取左边的字符
(LEN - 2)
- 如果“否”,则按原样返回字符串。
如果您仍然需要 VBA,请尝试使用此代码,这将一次性更改整个列。此处给出了有关此方法的说明。
出于演示目的,我假设数据A
在Sheet1
. 根据需要进行更改。
Option Explicit
Sub Sample()
Dim ws As Worksheet
Dim lrow As Long
Dim rng As Range
Dim sAddr As String
Set ws = Sheet1
With ws
lrow = .Range("A" & .Rows.Count).End(xlUp).Row
Set rng = .Range("A1:A" & lrow)
sAddr = rng.Address
rng = Evaluate("index(IF(RIGHT(TRIM(" & sAddr & _
"),2)=""||"",LEFT(TRIM(" & sAddr & _
"),LEN(TRIM(" & sAddr & _
"))-2)," & sAddr & _
"),)")
End With
End Sub
在行动:
我只将工作表的名称和范围更改为 L 和 L2:L。– Ulquiorra Schiffer 17 分钟前
推荐阅读
- ionic2 - 商米V1设备的pdf打印输出
- jquery - easyautocomplete - 在新选项卡中打开链接
- java - 当用户离开和回来时,我如何保留我的 JavaBean?
- php - 计算非按位运算符的步骤
- html - 测量网格宽度
- hex - 了解原始 8 位 8000Hz PCM 正弦波的十六进制输出
- android - 使用 Firebase 中的两组数据填充 RecyclerView
- r - 如何在给定字符串处分隔数据文件中的列?
- php - 数组中的 div 回显多次出现
- google-cloud-platform - 嵌入式实体和使用 GCP 数据存储上的祖先路径的实体之间的区别