EXCEL 单元格字符把含有“P:”后的数字放到另一个单元格
时间: 2023-07-16 11:16:34 浏览: 165
你可以使用 Excel 的文本函数来提取字符串中的数字,然后将其放入另一个单元格中。假设要提取的字符串在 A1 单元格中,可以使用以下公式将数字提取到 B1 单元格中:
```
=RIGHT(A1,LEN(A1)-FIND("P:",A1)-2)
```
这个公式使用了 RIGHT、LEN 和 FIND 函数来找到“P:”后面的数字。具体来说,LEN 函数返回字符串的长度,FIND 函数查找“P:”并返回其位置,RIGHT 函数从该位置开始提取指定长度的字符。
请注意,这个公式假设数字的长度始终为一个或两个字符。如果数字的长度可能会更长,请相应地调整公式。
相关问题
excel vba 每行自动生成各列单元格字符连接到一个单元格
可以使用 VBA 中的字符串连接符 "&",在每行的最后一列单元格中生成连接后的字符串。具体代码如下:
Sub ConcatenateCells()
Dim lastRow As Long
Dim i As Long
Dim result As String
lastRow = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
For i = 1 To lastRow
result = ""
For j = 1 To 3 '假设要连接的列数为3
result = result & Cells(i, j).Value
Next j
Cells(i, 4).Value = result '将连接后的字符串放入第4列单元格
Next i
End Sub
excel 按特定字符分割字符串,再判断分割后的数组的每个元素是否等于其他单元格内的值,请用excel函数或VBA实现
假设要处理的字符串在A1单元格中,以";"为分隔符,比较的单元格范围为B1:B5,则可以按照以下步骤实现:
1. 使用Excel自带函数“文本函数-文本分列”将字符串按照";"分列。具体步骤为:选中A1单元格,在数据菜单栏中选择“文本分列”,在弹出的文本分列向导中选择“分隔符”,输入";",选择新建工作表或将结果放入同一列中,点击完成即可得到分列后结果。
2. 在C1单元格中输入以下公式:
=OR(EXACT(B1,$B$1:$B$5))
此公式的作用是分别比较第一个分列后的元素和B1到B5中的值是否相等,返回布尔值True或False。如果有任意一个符合条件,则OR函数返回True;否则,返回False。
3. 复制公式C1到C2到C分列后最后一行,并选中C1到C分列后最后一行,按下Ctrl+D快捷键即可一次性填充公式。
4. 根据需要将C列中的True和False替换成其他内容,例如YES和NO,以便更易于阅读。
若要使用VBA实现该功能,可以编写以下代码:
Sub SplitAndCompare()
Dim str As String
Dim arr As Variant
Dim i As Integer, j As Integer
Dim matched As Boolean
For i = 1 To Range("A1").End(xlDown).Row '遍历A列中所有非空单元格
str = Range("A" & i).Value '读取该单元格中的字符串
arr = Split(str, ";") '按照";"分割字符串
matched = False '初始化匹配标志为False
For j = 1 To Range("B1").End(xlDown).Row '遍历B列中所有非空单元格
If arr(0) = Range("B" & j).Value Then '判断第一个分隔符前面的元素是否匹配
matched = True '如果匹配成功,修改匹配状态为True
Exit For '跳出内层循环
End If
Next j
Range("C" & i).Value = IIf(matched, "YES", "NO") '将匹配结果填充到C列中
Next i
End Sub
以上代码将字符串按照";"分割后,一次性遍历整个B列,并逐个比较每个分割后的元素和B列中的值是否相等。如果找到一个匹配项,则修改匹配状态为True,并跳出内层循环。最后将匹配结果填充到C列中。