用Excel中的过滤replace空列与另一列的内容
我有一个问题,我找不到解决scheme:我想填充一个空列(B列)的内容与另一个包含内容(列A),我想筛选列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函数以及查找/replacebutton,并且找不到任何直接的正则expression式function,但我是新来的Excel,无法弄清楚这一点。
我正在使用Office Professional Plus 2013
任何帮助非常感谢!
做法:
- 手动将自动筛选应用于A列
- 运行macros
- 手动删除filter
列B将包含在macros运行时可见的列A的内容。 macros:
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
macros很容易安装和使用:
- ALT-F11调出VBE窗口
- ALT-I ALT-M打开一个新的模块
- 粘贴东西,closuresVBE窗口
如果您保存该工作簿,该macros将与它一起保存。 如果您在2003年以后使用的是Excel版本,则必须将该文件另存为.xlsm而不是.xlsx
要删除macros:
- 如上所示调出VBE窗口
- 清除代码
- closuresVBE窗口
从Excel使用macros:
- ALT-F8
- selectmacros
- 触摸RUN
要了解有关macros的更多信息,请参阅:
http://www.mvps.org/dmcritchie/excel/getstarted.htm
和
http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx
macros必须启用这个工作!
如果你想要做的只是去掉最后8个字符,并在最后加上'p'
=LEFT(A1,LEN(A1)-8)&"p"
如果这不是你想要的,用文字或者伪代码来解释你想要的映射,我可以提供更丰富的解决scheme。
Br_dis_sp_142321 Br_dis_sp De_fadop_gy_112341 De_fadop_gp Fv_ner_rq_142321 Fv_ner_rp