我的excel表格中有很多人,我想用excel编码按国家/地区分割,这是我的数据示例:
Country | Name
UK | Tom
Austria | Bobsky
UK | Ralf
Germany | Badolf
Germany | Schwartz
UK | Andy
那么将英国人分成电子表格的不同部分是否可行?
我已经尝试过了
INDEX(B1:B6, MATCH("UK", A1:A6,0))
- 如果匹配函数未返回任何结果,则返回重复的行
我也尝试过很多东西
if(VLOOKUP(etc etc) = "UK".....
而且我发现这也不起作用。我认为这将是excel可以做的事情,而无需过滤+复制和放大粘贴或使用VBA但这并不容易。
答案 0 :(得分:2)
这对于几千行数据是可行的。如果'人数众多'远不止于此,那么高级过滤器或数据透视表是更可行的解决方案。
在D3中使用 UK 时,请在E3中使用以下内容。
=IFERROR(INDEX($B$2:$B$9999, SMALL(INDEX(ROW($1:$9995)+($A$2:$A$9996<>D3)*1E+99, , ), ROW(1:1))), "")
根据需要填写。
答案 1 :(得分:1)
不浪费时间起草复杂的Excel公式:
使用数据透视表,使用“国家/地区”列作为过滤器
在每个工作表上使用Microsoft Query Data->From Other Sources->Microsoft Query
,如下所示:
SELECT * FROM [Sheet1$] WHERE Country = 'UK' ORDER BY NAME
答案 2 :(得分:0)
Sub processData()
'I have workout for only UK
'this macro copies records of UK people from Sheet1 to Sheet2
lastrows = Worksheets("Sheet1").Cells(Rows.count, 1).End(xlUp).Row
count = 1
For x = 2 To lastrows
If (Worksheets("Sheet1").Cells(x, 1) = "UK") Then
Worksheets("Sheet2").Cells(count, 1) = Worksheets("Sheet1").Cells(x, 1)
Worksheets("Sheet2").Cells(count, 2) = Worksheets("Sheet1").Cells(x, 2)
count = count + 1
End If
Next x
MsgBox "Task finished"
End Sub