一个单元格中的多个单词,如何分隔而不分隔

时间:2016-08-02 11:45:13

标签: excel excel-vba excel-formula vba

由于错误的在线调查设置,多项选择的答案,选择所有适用的问题都集中在一个单元格中。例如:

所有可选选项如下:

  

A12
B1234
C3 [D845] E00091
F

响应的单元格如下:

单元格A1:A12C3E00091
单元格A2:B1234F
单元格A3:C3D845F

有100个像这样的细胞随机反应。

我需要以某种方式自动化数据提取,然后计算每个选项。

我尝试使用Left,Right等。它并没有真正帮助。

我确实使用了Find,然后尝试提取数据,但我不确定某个函数是从单元格中的特定起点起作用的。

如果有人可以帮忙解决这个问题。

感谢。

3 个答案:

答案 0 :(得分:1)

  • 将数据复制到范围A2:A101
  • 进入B1:G1,输入A,B,C,D,E,F
  • 进入B2,输入= LEN($ A2)-LEN(SUBSTITUTE($ A2,B $ 1,“”))
  • 将B2复制到B2:G101

结果: enter image description here

答案 1 :(得分:1)

将其复制到vba模块中并使用Countwords(RangeString,SearchTerm)作为Cell函数:

Public Function CountWords(r As String, Search As String) As Integer
Dim a As Variant, str As String, Count As Integer
For Each a In Range(r).Value
    str = str & a
Next a
Count = (Len(str) - Len(Replace(str, Search, ""))) / Len(Search)
CountWords = Count
End Function

所以= CountWords(“A1:A10”;“A12”)计算A1范围内的A12:A10。

答案 2 :(得分:1)

Kartike,

如果我理解正确,您想知道哪些选项在具有回复的单元格中被重新说明。我会说你使用find是对的。要测试选项1是否在单元格A1中运行:

=ISNUMBER(FIND("A12"; A1))

如果字符串" A12"则返回TRUE。包括在内,而其他则为FALSE。使用A2中的列中的答案字符串和B1中的行中的选项字符串,您可以通过使用

填充行和列来获得完整的选项表
=ISNUMBER(FIND(B$1;$A2))

从单元格B2开始。

此致 垫