gpt4 book ai didi

excel - 删除 || (管道)在列内文本的末尾

转载 作者:行者123 更新时间:2023-12-03 18:30:29 25 4
gpt4 key购买 nike

我有这个问题,我似乎无法解决......
在 L 列中我有某些角色,这些角色被 || 划分(管道)。
问题:有些人提供他们想要使用的这些角色,如下所示:

Testing||Admin||Moderator||
但这不适用于我们用来导入这些角色的脚本,我想看到的是,每当 || (管道)被使用,并且在使用管道之后如果没有任何文本跟随它应该删除最后的管道。
我尝试的是查找和替换选项,但这也删除了文本之间的管道。
希望可以有人帮帮我!
问题:
Testing||Admin||Moderator||
解决方案:
Testing||Admin||Moderator

最佳答案

一个简单的公式就能解决你的要求

=IF(RIGHT(TRIM(A1),2)="||",LEFT(TRIM(A1),LEN(TRIM(A1))-2),A1)
上述公式基于以下逻辑。
  • 检查右2个字符是否为||
  • 如果"is",则取左边的字符(LEN - 2)
  • 如果“否”,则按原样返回字符串。

  • enter image description here
    如果您仍然需要 VBA,请尝试使用此代码,这将一次性更改整个列。 HERE给出了这个方法的解释.
    出于演示目的,我假设数据在 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
    在行动 :

    I only changed the name of the worksheet and the range to L and L2:L. – Ulquiorra Schiffer 17 mins ago


    enter image description here

    关于excel - 删除 || (管道)在列内文本的末尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66073370/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com