如果单词以后缀之一结尾则标记为1

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如果单词以后缀之一结尾则标记为1相关的知识,希望对你有一定的参考价值。

假设我有这个。

Words             Mark                 Suffix
Happily                                ly
Emotional                              dom                              
Emotionally
Surfdom

如果单词在后缀列表中以某个后缀结尾,我想标记为1,否则为0。

Words             Mark                 Suffix
Happily            1                   ly
Emotional          0                   dom                              
Emotionally        1
Surfdom            1

我尝试过lookupvlookup,但它们不完整。我该怎么办?

答案

如果这三列是A,B和C,则B2 ==IF(OR(RIGHT(A2,LEN($C$2))=$C$2,RIGHT(A2,LEN($C$3))=$C$3),1,0)

上面的公式提供了灵活性,可以将任何值放在C2和C3中并标记它们。

您不必参考C列=IF(OR(RIGHT(A2,2)="ly",RIGHT(A2,3)="dom"),1,0)

如果您在C列中有大量数据,则不合适。在这种情况下,您可能需要VBA解决方案。

另一答案

我没有找到可以完成此工作的工作表函数,但这是一个像UDF一样的用户定义函数。

Function Suffixed(Cell As Range) As Integer

    Dim Suff        As Variant          ' list of Suffixes
    Dim Word        As String           ' the word extracted from 'Cell'
    Dim L           As Integer          ' length of suffix string
    Dim R           As Long             ' row counter

    Word = Cell.Value
    If Len(Word) Then                   ' skip if blank (return 0)
        ' set the range in column D, starting in row 2 to the column's end
        Suff = Range(Cells(2, "D"), Cells(Rows.Count, "D").End(xlUp)).Value
        For R = 1 To UBound(Suff)
            L = Len(Suff(R, 1))
            If StrComp(Right(Word, L), Suff(R, 1), vbTextCompare) = 0 Then
                Suffixed = 1
                Exit For
            End If
        Next R
    End If
End Function

将代码安装在标准代码模块中。那不是Excel设置的代码模块。您必须将其插入,其默认名称为Module1。之后,您可以使用您惯用的语法从工作表中调用该函数。例如,

=Suffixed(A2)

如果单词以列表中的后缀结尾,该函数将返回1,否则返回0。您可以修改代码以将后缀列表移动到所需位置。更改列字母的两个实例和数字2的一个实例,以指定列表的第一行。

    ' set the range in column D, starting in row 2 to the column's end
    Suff = Range(Cells(2, "D"), Cells(Rows.Count, "D").End(xlUp)).Value

列表的末尾是动态的,代码将找到它。不要在列表中留空。

以上是关于如果单词以后缀之一结尾则标记为1的主要内容,如果未能解决你的问题,请参考以下文章

AC日记——删除单词后缀 openjudge 1.7 20

Java - 如果单词以用户输入的分隔符结尾,则执行 x

查找列表/文件中以特定前缀/后缀开头/结尾的所有单词

是啥导致 LIKE 语句忽略 html 标记、逗号后的单词或以句点结尾?

1.13.16

苦苦挣扎比较最后2/3/4个字符Java(repl.it 018 - 条件语句练习4)