Google sheet - 水平范围内字符串的动态查找函数,以获得匹配的列索引字母引用
Google sheet - Dynamic lookup function for string in an horizontal range, in order to get the matched column index letter reference
能否请您帮助检索列索引字母,其中是动态查找公式的结果?
这里我在K10中填了一个国家,然后在Data range B2:F2的单元格中查看,然后我需要相应的列字母。在我的示例中,它应该是列 B 而不是 E (在单元格 L2 或 L10 中)。我看不出我在这个论坛某处找到的公式有什么问题:
=MAJUSCULE(CAR(COLONNE(INDEX(B2:F2;EQUIV(K10;B2:F2)))+96))
这里是sheethttps://docs.google.com/spreadsheets/d/1B5t4QrSX1_cI1J66nSaHghhHBkz7CBHQKyTm-_mPhp8/edit?usp=sharing
非常感谢。
如果我正确理解你的问题,你想
将列索引转换为FRANCE
.
对应的列字母
请在单元格L2
中使用以下公式
=CHAR(64+QUERY(ArrayFormula(TRANSPOSE({IFERROR(REGEXEXTRACT(B2:F2;K10));
COLUMN(B2:F2)}));
"select Col2 where Col1<>'' "))
更新
如何简化您的公式并将其从特定列中解放出来 (现在是这样).
仔细看看你要做什么,我相信如果你能做2个简单的修改,你会受益匪浅。
- 在具有区域字母的国家上方添加一行
- 将您的公式替换为以下公式
(注意更改的列。)
=QUERY(ArrayFormula(TRANSPOSE({IFERROR(REGEXEXTRACT(E3:I3;N11));
(E2:I2)}));
"select Col2 where Col1<>'' ")
您现在可以随意移动和放置您的数据。
使用的函数:
正确的方法(适用于列范围 A-ZZZ
)是:
=SUBSTITUTE(ADDRESS(2; MATCH("*"&K10&"*"; A2:F2; 0); 4); 2; )
你甚至可以创造跳跃link:
=HYPERLINK("#gid=569443896&range="&
ADDRESS(2; MATCH("*"&K10&"*"; A2:2; 0); 4);
SUBSTITUTE(ADDRESS(2; MATCH("*"&K10&"*"; A2:2; 0); 4); 2; ))
spreadsheet demo
或直接跳到B4:
=HYPERLINK("#gid=569443896&range="&
ADDRESS(1+MATCH(M10; A:A; 1); MATCH("*"&K10&"*"; A2:2; 0); 4);
SUBSTITUTE(ADDRESS(2; MATCH("*"&K10&"*"; A2:2; 0); 4); 2; ))
感谢大家,我最终修改了建议的公式,以便将动态 sheet-单元格引用包裹在具有预先命名范围的动态超链接中:
=LIEN_HYPERTEXTE("#gid="&RECHERCHEV(S3;Sheets_GID;2)&"range="&ADRESSE(1+EQUIV(Q3; INDIRECT(S3&"_Poids"); 1); EQUIV("*"&M3&"*"; INDIRECT(S3&"_Zones"); 0); 4);SUBSTITUE(ADRESSE(2; EQUIV("*"&M3&"*"; INDIRECT(S3&"_Zones"); 0); 4); 2; ))
感谢 Player0 在此处找到的脚本,我得到了 sheets GID:
但是当我在 table 引用中插入一些列时它不再起作用了,我必须更正一些细节..
这里有一些代码,当你给它单元格 ID 时,它会给你行列字母(无论你把它放在 sheet 的哪个位置都有效。)
您可以将单元格 ID 放在列括号内。例如列 (B87) 或直接复制粘贴到任何地方。
=IF(TRUNC((column()-1)/26)<1;CHAR((MOD((column()-1);26))+65);CHAR(TRUNC ((列()-1)/26)+65)&CHAR((MOD((列()-1);26))+65))
希望这是有用的。疯狂干杯
能否请您帮助检索列索引字母,其中是动态查找公式的结果? 这里我在K10中填了一个国家,然后在Data range B2:F2的单元格中查看,然后我需要相应的列字母。在我的示例中,它应该是列 B 而不是 E (在单元格 L2 或 L10 中)。我看不出我在这个论坛某处找到的公式有什么问题:
=MAJUSCULE(CAR(COLONNE(INDEX(B2:F2;EQUIV(K10;B2:F2)))+96))
这里是sheethttps://docs.google.com/spreadsheets/d/1B5t4QrSX1_cI1J66nSaHghhHBkz7CBHQKyTm-_mPhp8/edit?usp=sharing
非常感谢。
如果我正确理解你的问题,你想
将列索引转换为FRANCE
.
请在单元格L2
=CHAR(64+QUERY(ArrayFormula(TRANSPOSE({IFERROR(REGEXEXTRACT(B2:F2;K10));
COLUMN(B2:F2)}));
"select Col2 where Col1<>'' "))
更新
如何简化您的公式并将其从特定列中解放出来 (现在是这样).
仔细看看你要做什么,我相信如果你能做2个简单的修改,你会受益匪浅。
- 在具有区域字母的国家上方添加一行
- 将您的公式替换为以下公式
(注意更改的列。)
=QUERY(ArrayFormula(TRANSPOSE({IFERROR(REGEXEXTRACT(E3:I3;N11));
(E2:I2)}));
"select Col2 where Col1<>'' ")
您现在可以随意移动和放置您的数据。
使用的函数:
正确的方法(适用于列范围 A-ZZZ
)是:
=SUBSTITUTE(ADDRESS(2; MATCH("*"&K10&"*"; A2:F2; 0); 4); 2; )
你甚至可以创造跳跃link:
=HYPERLINK("#gid=569443896&range="&
ADDRESS(2; MATCH("*"&K10&"*"; A2:2; 0); 4);
SUBSTITUTE(ADDRESS(2; MATCH("*"&K10&"*"; A2:2; 0); 4); 2; ))
spreadsheet demo
或直接跳到B4:
=HYPERLINK("#gid=569443896&range="&
ADDRESS(1+MATCH(M10; A:A; 1); MATCH("*"&K10&"*"; A2:2; 0); 4);
SUBSTITUTE(ADDRESS(2; MATCH("*"&K10&"*"; A2:2; 0); 4); 2; ))
感谢大家,我最终修改了建议的公式,以便将动态 sheet-单元格引用包裹在具有预先命名范围的动态超链接中:
=LIEN_HYPERTEXTE("#gid="&RECHERCHEV(S3;Sheets_GID;2)&"range="&ADRESSE(1+EQUIV(Q3; INDIRECT(S3&"_Poids"); 1); EQUIV("*"&M3&"*"; INDIRECT(S3&"_Zones"); 0); 4);SUBSTITUE(ADRESSE(2; EQUIV("*"&M3&"*"; INDIRECT(S3&"_Zones"); 0); 4); 2; ))
感谢 Player0 在此处找到的脚本,我得到了 sheets GID:
但是当我在 table 引用中插入一些列时它不再起作用了,我必须更正一些细节..
这里有一些代码,当你给它单元格 ID 时,它会给你行列字母(无论你把它放在 sheet 的哪个位置都有效。) 您可以将单元格 ID 放在列括号内。例如列 (B87) 或直接复制粘贴到任何地方。
=IF(TRUNC((column()-1)/26)<1;CHAR((MOD((column()-1);26))+65);CHAR(TRUNC ((列()-1)/26)+65)&CHAR((MOD((列()-1);26))+65))
希望这是有用的。疯狂干杯