我要在AC列求出B列中所有包含:BEGIN字符的符号在B列单元格中在第几行出现,且一共出现了几个,用函数写给我
时间: 2023-06-18 15:05:46 浏览: 76
假设A列是文本列,B列是要查找的列,你可以使用以下公式来实现:
```
=IFERROR(SMALL(IF(ISNUMBER(SEARCH("BEGIN",B:B)),ROW(B:B)),ROW()-1),"")
```
这是一个数组公式,因此在输入后需要按 Ctrl + Shift + Enter 来确认。然后将该公式拖动到下面的单元格中,即可得到每个包含“BEGIN”字符的符号的行数。如果要计算一共出现了多少个这样的符号,可以使用以下公式:
```
=SUM(IF(ISNUMBER(SEARCH("BEGIN",B:B)),1,0))
```
同样,这也是一个数组公式,需要按 Ctrl + Shift + Enter 来确认。
相关问题
我要在AC列求出B列中所有包含:BEGIN字符的符号在B列单元格中一共出现了几个,返回时需要在B列:BEGIN字符对应的AC列中返回 用函数写给我
假设你的数据从第2行开始,AC列为A,B列为B,可以使用以下函数:
```
=ARRAYFORMULA(IF(B2:B="",,SUM(IFERROR(IF(REGEXMATCH(B2:B,"BEGIN"),A2:A,0),0)))))
```
这是一个数组公式,需要将其输入到AC2单元格中,并按下Ctrl + Shift + Enter键。然后将公式拖动到AC列中的其他单元格即可。该公式将在AC列中返回包含"BEGIN"字符的符号在B列单元格中出现的总次数。
已知AL8-EG8是固定点位名称,B列是原始数据区域,C列和D列为原始数据点位对应的数值区域,:BEGIN字符为数据表头,:END字符为数据结尾,AK9-AK40为每组原始数据对应的顺序,例如: BEGIN 计算器 SPC B: 数值 :END 为第一组原始数据 BEGIN 计算器 SPC B: 数值 :END 为第二组原始数据 我需要在AL9-EG40单元格中求出AL8-EG8单元格点位名称在B列对应的点位名称然后在C列中求出B列点位对应的数值,帮我写成宏程序,且在B2单元格更新时运行
以下是一个基本的宏程序,它可以在B2单元格更新时运行,按照您的要求在AL9-EG40单元格中计算出数据:
```
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Integer
Dim j As Integer
Dim k As Integer
Dim ws As Worksheet
Set ws = ActiveSheet
If Target.Address = "$B$2" Then
For i = 9 To 40
For j = 2 To 7
If ws.Cells(i, j).Value = ws.Cells(8, 5).Value Then
For k = 3 To 4
ws.Cells(i, j + k - 2).Value = ws.Cells(Application.Match(ws.Cells(i, 1).Value, ws.Range("AK9:AK40"), 0) + 8, k).Value
Next k
End If
Next j
Next i
End If
End Sub
```
该程序使用了 `Worksheet_Change` 事件,当B2单元格发生变化时,它将循环遍历AL9-EG40单元格范围,查找与AL8-EG8单元格相对应的B列点位名称,并在C列和D列中获取对应的数值填充到AL9-EG40单元格中。
请注意,这个程序假设您的数据表格的结构是固定的,即:AL8-EG8单元格是固定的点位名称,B列是原始数据区域,C列和D列为原始数据点位对应的数值区域,:BEGIN字符为数据表头,:END字符为数据结尾,AK9-AK40为每组原始数据对应的顺序。
如果您的数据表格结构不同,可能需要对程序进行适当的修改。
阅读全文