索引匹配-返回值并排除以前返回的所有值

时间:2018-06-27 11:07:56

标签: excel

您好,我目前正在尝试在excel中设置一个公式,其中我在表单上有一些信息,例如ID,然后是每个ID的国家/地区

我想做的是一个索引匹配样式公式,其中在工作表2上将有一个单元格显示“英格兰”

然后该公式将在第一页中显示,扫描B列并查找England并返回ID。但是我的索引匹配问题是它只返回列表中的第一个,我需要做的是返回ID,然后再次检查排除上面的单元格。

我似乎无法使其正常工作,理想情况下,它看起来像下面的

第1张纸

s work

第二页:英格兰

A              B
ID          Country
1           England
2            Wales
3           England
4           Scotland
5           Wales

编辑:我希望仅通过公式来完成操作,没有VBA代码,谢谢!

3 个答案:

答案 0 :(得分:0)

尝试

=index('sheet one'!a:a, aggregate(15, 6, row($2:$999)/('sheet one'!b$2:b$999="england"), row(1:1)))

那让你第一个。填写后,row(1:1)变为row(2:2),row(3:3)变为第二,第三等,

答案 1 :(得分:0)

您可以使用 Power Query (获取和转换数据):

let
    Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
    #"Filtered Rows" = Table.SelectRows(Source, each ([Country] = "England"))
in
    #"Filtered Rows"

您可以使用数据透视表

ID中放入字段CountryROWS。选择报告布局Tabular。关闭SubtotalsGrand Totals。过滤器Country =英格兰。

答案 2 :(得分:0)

此VBA程序将能够处理它。

  

在假定条件下,原始数据存储在名为public function actionIndex($page = 1) { echo '<pre>'; echo 'site / index / $page ' . print_r($page, true); echo '</pre>'; exit; } 的表中

'rules' => [
    [
        'pattern' => '',
        'route' => 'site/index',
    ],
    [
        'pattern' => 'page/<page:\d+>',
        'route' => 'site/index',
    ],
],

例如,如果在Sheet2中,您使用以下代码创建了以下按钮

Table1

您可以使它看起来像这样,因此只要用户按下按钮,它就会列出所有ID。

enter image description here