我得到了很多数据(不能回去请他们以更有用的方式提供数据)。它在同一单元格中包含多个数字,并用分号分隔。
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,则可以显示的任何内容。
不幸的是,每个单元格中不同读数的数量是无限的-否则,我将有嵌套的公式来检查第一,第二,第三等条目。
有人有什么想法吗?这完全让我难过。
答案 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}中返回一个B2
或TRUE
,如果您的数字列表包含的数字小于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)