从 Excel 中的字符串中提取年份
Extract years from string in Excel
我有一个没有重复模式的覆盖日期列表。例如,我有以下字符串:
Available from 1951 until 1984;
Available from 1964 volume: 2 issue: 1 until 2002 volume: 20 issue: 4;
Available from 1958 volume: 1 issue: 1;
Available from 1970 issue: 24 until 1989 issue: 110; Available from 1990 volume: 1 issue: 1 until 2001 volume: 12 issue: 4;
我试图仅将年份值提取到 Excel 中的不同列中,例如:
Available from 1951 until 1984; -> 1951 | 1984
Available from 1964 volume: 2 issue: 1 until 2002 volume: 20 issue: 4; -> 1964 | 2002
Available from 1970 issue: 24 until 1989 issue: 110; Available from 1990 volume: 1 issue: 1 until 2001 volume: 12 issue: 4; -> 1970 | 1989 | 1990 | 2001
(如果可能的话,每一年都应该出现在不同的列中)
我有办法提取年份吗?我想写一个 VB 代码,但老实说我对 VB.
并不流利
谢谢。
使用这个数组公式:
=IFERROR(INDEX(MODE.MULT(IF((TRIM(MID(SUBSTITUTE($A1," ",REPT(" ",999)),(ROW(:)-1)*999+1,999))="from")+(TRIM(MID(SUBSTITUTE($A1," ",REPT(" ",999)),(ROW(:)-1)*999+1,999))="until"),SUBSTITUTE(TRIM(MID(SUBSTITUTE($A1," ",REPT(" ",999)),(ROW(:))*999+1,999)),";","")*{1,1})),COLUMN(A:A)),"")
作为数组公式,退出编辑模式时需要用Ctrl-Shift-Enter确认,而不是Enter。
输入 B1,按 Ctrl-Shift-Enter。然后copy/drag翻来覆去。
此公式查找 from
和 until
并提取下一个 "word" 作为 return。如果该规则不一致,那么这将不起作用。
我有一个没有重复模式的覆盖日期列表。例如,我有以下字符串:
Available from 1951 until 1984;
Available from 1964 volume: 2 issue: 1 until 2002 volume: 20 issue: 4;
Available from 1958 volume: 1 issue: 1;
Available from 1970 issue: 24 until 1989 issue: 110; Available from 1990 volume: 1 issue: 1 until 2001 volume: 12 issue: 4;
我试图仅将年份值提取到 Excel 中的不同列中,例如:
Available from 1951 until 1984; -> 1951 | 1984
Available from 1964 volume: 2 issue: 1 until 2002 volume: 20 issue: 4; -> 1964 | 2002
Available from 1970 issue: 24 until 1989 issue: 110; Available from 1990 volume: 1 issue: 1 until 2001 volume: 12 issue: 4; -> 1970 | 1989 | 1990 | 2001
(如果可能的话,每一年都应该出现在不同的列中) 我有办法提取年份吗?我想写一个 VB 代码,但老实说我对 VB.
并不流利谢谢。
使用这个数组公式:
=IFERROR(INDEX(MODE.MULT(IF((TRIM(MID(SUBSTITUTE($A1," ",REPT(" ",999)),(ROW(:)-1)*999+1,999))="from")+(TRIM(MID(SUBSTITUTE($A1," ",REPT(" ",999)),(ROW(:)-1)*999+1,999))="until"),SUBSTITUTE(TRIM(MID(SUBSTITUTE($A1," ",REPT(" ",999)),(ROW(:))*999+1,999)),";","")*{1,1})),COLUMN(A:A)),"")
作为数组公式,退出编辑模式时需要用Ctrl-Shift-Enter确认,而不是Enter。
输入 B1,按 Ctrl-Shift-Enter。然后copy/drag翻来覆去。
此公式查找 from
和 until
并提取下一个 "word" 作为 return。如果该规则不一致,那么这将不起作用。