我有一个问题我无法找到解决方案:我正在尝试用另一个包含内容(列A)来填充空列(列B)的内容,我想在之前过滤A列的内容它们被放在B栏中。
说明:
col A col B
Br_dis_sp_142321 Br_dis_sp
De_fadop_gy_112341 De_fadop_gp
Fv_ner_rq_142321 Fv_ner_sp
我在Excel中尝试过SUBSTITUTE和REPLACE函数以及查找/替换按钮,但是找不到任何简单的正则表达式功能,但我是Excel的新手并且无法解决这个问题。
使用的是Office Professional Plus 2013
任何帮助都非常感谢!
答案 0 :(得分:1)
方法:
列 B 将包含在运行宏时可见的列 A 的内容。宏:
Sub CaptureFilter()
Dim i As Long, N As Long, j As Long, r As Range
N = Cells(Rows.Count, 1).End(xlUp).Row
i = 1
For j = 2 To N
Set r = Cells(j, 1)
v = r.Value
If r.EntireRow.Hidden = False Then
Cells(i, 2).Value = v
i = i + 1
End If
Next j
End Sub
宏非常易于安装和使用:
如果保存工作簿,宏将随之保存。 如果您在2003年之后使用的是Excel版本,则必须保存 该文件为 .xlsm 而不是 .xlsx
删除宏:
要使用Excel中的宏:
要了解有关宏的更多信息,请参阅:
http://www.mvps.org/dmcritchie/excel/getstarted.htm
和
http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx
必须启用宏才能使其生效!
答案 1 :(得分:0)
如果您要做的就是删除最后8个字符并添加“' p'到最后,这应该有效:
=LEFT(A1,LEN(A1)-8)&"p"
如果这不完全是你想要的,用文字或伪代码解释你想到的映射我可以提供更丰富的解决方案。
Br_dis_sp_142321 Br_dis_sp
De_fadop_gy_112341 De_fadop_gp
Fv_ner_rq_142321 Fv_ner_rp