首页 > 其他分享 >跳转满足条件的数据

跳转满足条件的数据

时间:2024-04-01 16:13:11浏览次数:14  
标签:满足条件 14 MIN Vstack 数据表 A2 跳转 数据 ROW

问题:根据总表中指定条件,跳转到分表中的指定数据。

子表只有一个“数据表1”:

=IF(COUNTIFS(数据表1!A:A,A2),HYPERLINK("#数据表1!a"&MIN(IF(A2=数据表1!A$2:A$7,ROW($2:$7)))&":d"&MAX(IF(A2=数据表1!A$2:A$7,ROW($2:$7))),A2),"") 

 借助Let函数公式可以简化如下:

=LET(a,IF(A2=数据表1!A$2:A$7,ROW($2:$7)),IF(COUNTIFS(数据表1!A:A,A2),HYPERLINK("#数据表1!a"&MIN(a)&":d"&MAX(a),A2),""))

IF(A2=数据表1!A$2:A$7,ROW($2:$7)):如果数据表1中A列数据等于A2时,返回对应行号。

"#数据表1!a"&MIN(a)&":d"&MAX(a):生成需要引用数据的单元格地址,如a的结果为2、3、4、False、False,单元格地址为“#数据表1A2:D4”

使用Hyperlink实现超链接

如果A2在数据表1的A列中不存在,返回空文本。

子表有若干个,如数据表1、数据表2:

=IF(SUM(COUNTIF(INDIRECT({"数据表1","数据表2"}&"!a:a"),A2)),HYPERLINK("#"&CONCAT(UNIQUE(IF(VSTACK(数据表1:数据表2!A$2:A$6)=A2,CHOOSE(INT(ROW($5:$14)/5),"数据表1","数据表2"),"")))&"!a"&MIN(IF(VSTACK(数据表1:数据表2!A$2:A$6)=A2,MOD(ROW($5:$14),5)+2))&":d"&MAX(IF(VSTACK(数据表1:数据表2!A$2:A$6)=A2,MOD(ROW($5:$14),5)+2)),A2),"")

借助Let函数公式可以简化如下:

=LET(a,VSTACK(数据表1:数据表2!A$2:A$6)=A5,b,IF(a,MOD(ROW($5:$14),5)+2),IF(SUM(COUNTIF(INDIRECT({"数据表1","数据表2"}&"!a:a"),A5)),HYPERLINK("#"&CONCAT(UNIQUE(IF(a,CHOOSE(INT(ROW($5:$14)/5),"数据表1","数据表2"),"")))&"!a"&MIN(IF(a,MOD(ROW($5:$14),5)+2))&":d"&MAX(IF(a,MOD(ROW($5:$14),5)+2)),A5),""))

CountIf部分需要引用所有工作簿的A列,计算出A2在各子表中的个数

Vstack用于将所有子表的A列堆叠成一列

Vstack的结果中如果存在A2,所返回的行号是一个循环序列数,本示例中Vstack每个工作表引用5行,此循环值就是5,这一结果作为Hyperlink需要跳转的单元格地址的行数

Vstack的结果中如果存在A2,则返回一个重复序列数,本示例中Vstack每个工作表引用5行,此重复次数为5,这一结果作为Choose函数的第一参数,用以提取工作表名

Choose函数第二个参数起,需要列出所有工作表名

其他思路同上

所以,为什么不在一开始就把所有相同结构的表合并在一个工作表内? 

标签:满足条件,14,MIN,Vstack,数据表,A2,跳转,数据,ROW
From: https://www.cnblogs.com/officeplayer/p/18108702

相关文章

  • 数据结构 第二章(线性表)
    写在前面:本系列笔记主要以《数据结构(C语言版)》为参考,结合下方视频教程对数据结构的相关知识点进行梳理。所有代码块使用的都是C语言,如有错误欢迎指出。视频链接:第01周a--前言_哔哩哔哩_bilibili一、线性表的定义和特点        同一线性表中的元素必定具有相同的特性......
  • Mysql数据库故障排查与优化
    目录前言一、Mysql数据库的单实例故障1.故障一——拒绝连接数据库1.1故障内容1.2问题分析1.3解决方法2.故障二——密码错误2.1故障内容2.2问题分析2.3解决方法3.故障三——数据库处理较慢3.1故障内容3.2问题分析3.3解决方法4.故障四——数据库表被破坏4.1故障......
  • MySQL 数据库的优化
    目录一.常见故障单实例常见故障1.故障一2.故障二3.故障三4.故障四5.故障五6.故障六7.故障七8.故障八主从环境常见故障1.故障一2.故障二3.故障三二.优化1.硬件方面1.1关于CPU1.2关于内存1.3关于磁盘2.配置文件优化关于引擎是innodb的优化如......
  • 数据结构与算法入门
    数据结构与算法入门1、数据结构介绍程序(Program)=数据结构(DataStructure)+算法(Algorithm)”数据结构是计算机专业中一门综合性的基础课程,它是介于数学,计算机硬件和计算机软件的三者之间一门核心课程,同时,数据结构是设计数据库,程序,操作系统,游戏等等设计方面的重要基础,是绝大多数计......
  • KingbaseES数据库运维案例---SCOTT用户及对象创建
    案例说明:生产用户从Oracle环境迁移到KingbaseES数据库后,需要使用Oracle下scott用户的应用测试环境,本案例借助Oracle创建scott用户应用环境的脚本,创建KingbaseES下的应用测试环境。适用版本:KingbaseESV8R3/R6SCOTT用户有四张数据表:1)部门信息表:dept2)雇员信息表:emp3)工资等......
  • KingbaseES V8R6集群运维案例之---数据库实例initdb后配置
    案例说明:KingbaseESV8R6集群在数据库实例启动时需加载repmgr插件,并且具有集群管理的用户esrep和存储元数据的数据库esrep库;但在手工initdb新的实例后,默认的实例将不包含repmgrextension及esrep库和esrep用户,需要手工配置,完善集群管理应用。适用版本:KingbaseESV8R6一、默认......
  • SpringBoot默认内嵌数据层解决方案
    数据层解决方案常用的数据层解决方案技术选型:数据源+持久化技术+数据库:DruidDataSource+MyBatis-Plus/MyBatis+Mysql;可以使用Hikari/DruidDataSource+jdbcTemplate/MyBatis-Plus/MyBatis+Mysql/h2搭配使用内嵌:Embedded独立的服务器版本:server内置数据源HikariSpring自动......
  • openGauss数据库扩容指导
    前置条件当前集群状态正常操作步骤1、新节点创建用户和用户组,注意需要与当前集群的用户与用户组一致,密码也要保持一致。假设当前集群用户为omm。2、检查新节点环境变量,清理和openGauss相关的环境变量配置。主要检查/etc/profile和/home/omm/.bashrc两个文件。如果清理不......
  • vue中路由跳转 切换tab页需要保存之前操作怎么办
    如图所示我需要草稿和新建流程页面切换草稿页面之前的操作(比如填写页面比如查询后页面等)仍保留使用vue中的keepalive组件 而对于若依系统菜单管理中自带是否缓存但注意一定要填写组件名称组件名称定义地址:......
  • OpenGauss数据库对象属主变更后会自动调整对象权限吗?
    OpenGauss数据库对象属主变更后会自动调整对象权限吗?OpenGauss数据库创建了数据库对象之后,可以使用alter命令修改对象的属主。以表为例,修改属主的命令如下:ALTERTABLE<table_name>OWNERTO<role_name>;接下来就测试一下修改表的属主,观察一下表的权限调整情况:创建测试......