Excel 2013-单元格中的多个数字作为文本字符串,需要标识是否小于特定值

时间:2019-04-26 09:30:27

标签: excel excel-2013

我得到了很多数据(不能回去请他们以更有用的方式提供数据)。它在同一单元格中包含多个数字,并用分号分隔。

  A
 +-------------------------+
1|Sats                     |
 +-------------------------+
2|92; 89; 94; 99; 100      |
 +-------------------------+
3|95; 98; 96               |
 +-------------------------+
4|99                       | 
 +-------------------------+
5|88; 95                   |
 +-------------------------+
6|99; 95; 98; 98; 100; 95  |
 +-------------------------+
7|94; 92; 91; 93           |
 +-------------------------+

以某种方式,我需要确定一个单元格是否包含一个小于94的数字。只是,是/否,幸运的是,我不需要任何其他分析。

或者,列出每个单元格中的最低数字。如果数字小于94,则可以显示的任何内容。

不幸的是,每个单元格中不同读数的数量是无限的-否则,我将有嵌套的公式来检查第一,第二,第三等条目。

有人有什么想法吗?这完全让我难过。

5 个答案:

答案 0 :(得分:1)

您可以为此创建一个UDF。

在VBA(Alt + F11)中创建一个新模块

然后使用以下代码:

Public Function ParseAndSum(source As String) As Integer
       Dim tmp() As String, i As Integer
       tmp = Split(source, ";")
       For i = LBound(tmp) To UBound(tmp)
       ParseAndSum = Val(tmp(i)) < 94
       Next i
End Function

在B2中,使用公式:

=ParseAndSum(H19)<0

如果A2中的字符串中的值小于94,它将返回TRUE,否则将返回FALSE

答案 1 :(得分:1)

基于此answer,您可以使用以下数组公式(别忘了按 Ctrl + Shift + Enter !)在单元格{{1}中返回一个B2TRUE,如果您的数字列表包含的数字小于FALSE

94

然后可以将其向下拖动到B列中,它应该可以工作,但是,您可能还需要替换定界符 =SUM(--(1*TRIM(MID(SUBSTITUTE(A2,";",REPT(" ",99)),(ROW(OFFSET($A$1,,,LEN(A2)-LEN(SUBSTITUTE(A2,";",""))+1))-1)*99+((ROW(OFFSET($A$1,,,LEN(A2)-LEN(SUBSTITUTE(A2,";",""))+1)))=1),99))<94))>0 之间的空格,因此它是每个单元格中的一个连续列表,例如;

答案 2 :(得分:0)

一种方法是使用PowerQuery(假设您使用的是2013年或更高版本)。为此,请选择数据,请转到“数据”>“从表/范围”。电源查询窗口将打开。转到“变换”>“分隔列”>“按定界符”。您可以通过单击“格式”>“修剪”来修剪结果以删除空格。

答案 3 :(得分:0)

将此列放入C,然后选择此列,使用Data-> Text到各列,并用分号分隔,这将分隔为D,E,F ...

此后,在B列上写= MIN(C1:Z1),否则您可以放置​​更大的单元格编号。

然后在A列中写入= IF(C1> 94,“ YES”,“ NO”)。然后按A列进行过滤。

答案 4 :(得分:0)

我可以肯定地说您在2013年拥有FILTERXML功能。

您可以使用它来分割字符串,然后在 array 公式中对其进行测试:

=OR(FILTERXML("<t><s>"&SUBSTITUTE(A2,";","</s><s>")&"</s></t>","//s")<94)

由于这是一个数组公式,因此您需要在按下 enter 的同时按住 ctrl + shift 来“确认”它。如果操作正确,Excel将按照公式栏中的说明在公式周围放置括号{...}

enter image description here