首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Excel公式技巧94:在不同的工作表中查找数据

很多时候,我们都需要从工作簿中的各工作表中提取数据信息。如果你在给工作表命名时遵循一定的规则,那么可以将VLOOKUP函数与INDIRECT函数结合使用,以从不同的工作表中提取数据。...假如有一张包含各种客户的销售数据表,并且每个月都会收到一张新的工作表。这里,给工作表选择命名规则时要保持一致。...例如,可以使用Sales_Jan_2020、Sales_Feb_2020、Sales_Mar_2020。也就是说,将工作表按一定规则统一命名。...在汇总表上,我们希望从每个月份工作表中查找给客户XYZ的销售额。假设你在单元格区域B3:D3中输入有日期,包括2020年1月、2020年2月、2020年3月,在单元格A4中输入有客户名称。...每个月销售表的结构是在列A中是客户名称,在列B中是销售额。

13.1K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【Groovy】Xml 反序列化 ( 使用 XmlParser 解析 Xml 文件 | 删除 Xml 文件中的节点 | 增加 Xml 文件中的节点 | 将修改后的 Xml 数据输出到文件中 )

    文章目录 一、删除 Xml 文件中的节点 二、增加 Xml 文件中的节点 三、将修改后的 Xml 数据输出到文件中 四、完整代码示例 一、删除 Xml 文件中的节点 ---- 在 【Groovy】Xml...反序列化 ( 使用 XmlParser 解析 Xml 文件 | 获取 Xml 文件中的节点和属性 | 获取 Xml 文件中的节点属性 ) 博客基础上 , 删除 Xml 文件中的节点信息 ; 下面是要解析的...") 三、将修改后的 Xml 数据输出到文件中 ---- 创建 XmlNodePrinter 对象 , 并调用该对象的 print 方法 , 传入 XmlParser 对象 , 可以将该 XmlParser...数据信息写出到文件中 ; // 将修改后的 Xml 节点输出到目录中 new XmlNodePrinter(new PrintWriter(new File("b.xml"))).print(xmlParser...0] // 从根节点中删除 age 节点 xmlParser.remove(ageNode) // 添加节点 xmlParser.appendNode("height", "175cm") // 将修改后的

    6.2K40

    一起学Excel专业开发16:使用表驱动的方法管理工作表用户接口

    与滚动区协同工作,将输入焦点限制在用户接口中,避免用户选择用户接口区域外的单元格。 5.行列标题。在开发过程中行列标题处于可见状态,在运行过程中处于隐藏状态。 6.工作表的可见性。...在大多数用户接口中,常需要一个或多个用于完成后台任务的工作表。在开发或维护时这些工作表可见,但在运行时应为不可见和不能修改的状态。...这个工作表通常位于加载宏的工作表中,而管理工作表中设置值的VBA代码存放在加载宏的工具模块中。(工具模块其实就是一个标准模块,用于在开发过程中辅助程序员的工作,但并不被应用程序本身使用。)...2.遍历接口工作簿中的每个工作表,按照用于接口设置的工作表中的顺序读取相应预定义名称的值,并将其保存到用于接口设置的工作表中相应的单元格中。 3.删除接口工作表中的所有设置,便于工作簿维护和修改。...因为直接在接口工作簿中采取手工方式更新设置非常容易,只需要更新每个工作表的预定义名称值即可。在完成这些调整操作后,将最新的预定义名称值写回到用于接口设置的工作表中,以保持驱动表与接口工作簿设置一致。

    95630

    Java高并发:Java内存模型

    3.2 状态 M:Modified,该缓存行只在本CPU私有缓存中有,其他CPU没有,本地被修改的数据,与内存不一致。如果该行数据在某个时间点被刷回主存,则将状态修改为E。...如果CPU1修改了数据a,那么在CPU1中这一行修改为M状态,CPU2中这一行修改为I无效状态。如果CPU2再次读写数据a,需要CPU1将这一行刷回主存,CPU2再次从主存读取,确保可见性。...图片 将一个变量从主存读到工作内存,需要按照顺序执行read、load指令,可以不连续,但不能少; 将一个变量从工作内存写回主存,需要按照顺序执行store、write指令,可以不连续,但不能少; 4...会引起其他CPU中缓存了该内存地址的数据无效。写回操作经过总线传播,其他CPU嗅探到该数据检查自己缓存的值是否过期。 禁止重排序,作为内存屏障使用。...synchronize使用后unlock时会强制将修改的共享变量刷回主存,保证可见性。

    83530

    Window10上如何将MySQL数据库文件从C盘移动到D盘

    ,并且其数据库文件也是默认在C盘,一般我们都是将C盘作为系统盘来使用,如果将数据库文件存在C盘,随着数据库中数据越来越大,C盘空间将越来越少,为此,需要将MySQL数据库文件从C盘迁移到其它盘,具体步骤如下...+F快捷键调出搜索框,输入datadir找到该行代码,一般在95行的样子 找到该行后,将该行代码中的C修改为D,其它不需要修改 重启服务验证是否成功 修改完成后,在服务中重新把MySQL80...,然后重新打开Navicat,打开数据库表,文件不受影响。...注意这里有一个坑 在修改my.ini文件时,千万不要用记事本打开,我在看网上查找到的博客文章都是说使用记事本打开,修改后保存时在编码里面选择ANSI保存,我安装这个操作后重启服务会报错,导致MySQL80...我这里使用vscode打开修改不会报错,这里建议使用专用的ini编辑器打开,我的操作系统中没有安装ini编辑器,就使用vscode打开进行编辑了,发现也能正常修改。

    1.8K20

    Linux内核同步机制之(一):原子操作

    ) 3、将寄存器中的数值写回memory中的变量值 如果这个操作序列是串行化的操作(在一个thread中串行执行),那么一切OK,然而,世界总是不能如你所愿。...因此,来自两个CPU上的读memory操作被串行化执行,分别获得了同样的旧值。完成修改后,两个CPU都想进行写操作,把修改的值写回到memory。...例如:gcc对c代码进行处理,将某些变量值保存在寄存器中,如果嵌入汇编修改了该寄存器的值,又没有通知gcc的话,那么,gcc会以为寄存器中仍然保存了之前的变量值,因此不会重新加载该变量到寄存器,而是直接使用这个被嵌入式汇编修改的寄存器...每个指令32个bit,其中12个bit被用来表示立即数,其中8个bit是真正的数据,4个bit用来表示如何rotation。更详细的内容请参考ARM ARM文档。...(6)这一步将修改后的new value保存在atomic_t变量中。是否能够正确的操作的状态标记保存在%1操作数中,也就是"=&r" (tmp)。

    2K20

    Redis如何保证分布式锁的原子性?

    在Redis 6.x,还会有多个I/O线程并发读取或写回数据。 那事到如今,分布式锁的原子性,还能被保证吗?...:readQueryFromClient函数 会从客户端连接的socket中,读取最大为readlen长度的数据,readlen大小为宏定义PROTO_IOBUF_LEN,默认16KB。...成员变量中查找相关命令 全局变量server的commands成员变量是个哈希表,定义在redisServer结构体: commands成员变量的初始化是在initServerConfig,调用dictCreate...如下代码展示GET、SET等命令信息,实现函数分别是getCommand,setCommand: 所以lookupCommand会根据解析的命令名称,在commands对应的哈希表中查找相应命令。...写回数据流程 该阶段,addReply是将客户端写回操作推迟执行的,而此时Redis命令已完成执行,所以,即使有多个I/O线程在同时将客户端数据写回,也只是把结果返给客户端,并不影响命令在Redis Server

    3K20

    7 mysql事务(包括redo log,undo log,MVCC)及事务实现原理

    所以有了redo log顺序写磁盘(顺序写速度极快,后续的落盘是随机写,速度慢),在事务提交后,事务日志会顺序写入磁盘,然后写入pool内存里。然后才是后续的那些按规则将索引数据落盘。...Undo Log 所谓的undo log就是回滚日志,当进行插入、删除、修改操作时,一定会生成undo log,并且一定优先于修改后的数据落盘。...然后在该行追加两个虚拟的列,列就是进行数据操作的事务的ID(created_by_txn_id),是一个单调递增的ID;还有一个deleted_by_txn_id,将来用来做删除的。...那么在另一个事务在读取该行数据时,由具体的隔离级别来控制到底读取该行的哪个版本。同时,在读取过程中完全不加锁,除非用select * xxx for update强行加锁。...一个事务在他提交之前的所有修改,对其他事务不可见。提交后,其他事务就能读到了。在很多场景下这种逻辑是可以接受的。 在这个隔离级别下,读取数据不加锁而是使用MVCC机制,写入数据就是排他锁。

    1.9K40

    ado.net的简单数据库操作(三)——简单增删改查的实际应用

    果然,在犯困的时候就该写写博客,写博客就不困了,哈哈!   上篇我记录了自己的SqlHelper的开发过程,今天记录一下如何使用这个sqlhelper书写一个具有简单增删改查的小实例啦。   ...实例描述:在数据库新建一张TbClass表,将表的内容读取到一个DataGridView上,并且可以在winform面板上对表里的内容进行增、删、改的操作。首先给出winform的设计: ?....DataSource = list; 23 }   在使用SqlHelper之前,需要在App.config中添加配置代码和在项目中添加引用,这是需要注意的,因为在以前的博客中有详细讲解如何添加,...(3)实现修改操作 在获取了某行的行内信息后那么对该行进行修改和删除就变得简单了,又是几个数据库的操作,下面我们双击保存修改,进入修改按钮方法体中书写代码: 代码如下: 1 /// 2 /// 将修改后的内容存储到数据库,并重新加载数据 3 /// 4 ///

    1.4K30

    应用|让Excel的目录超级自动化

    —— 琉璃康康 Excel是各种数据统计维护使用的工具。 不管是做网络规划,还是做财务报表,或者是工程统计,都会将数据分门别类地定义在各种工作表里。...然后在一连串的工作表中来回跳转会异常头痛,所以必然想做一个目录索引以方便跳转,就如同Word里的目录索引一样。 那么你有没有为了生成Excel的目录而痛苦?...在一次次右键选择超链,再选择一个工作表,最后修改下显示文本,循环往复直到所有的工作表都定义到目录中。...然后一旦有工作表的名字被修改,超链接也必须修改后才可以使用,否则就是一个查无此表;再或者新加入的工作表后,再次需要右键选择编辑等等操作后才能更新到目录中。...方案一是打开消息提示窗口,然后在每次打开excel的时候就会有安全问题的提示,直接允许即可: 方案二就是直接允许运行VBA的宏,一劳永逸,但是会有安全方面的风险,比如我司就直接不允许修改宏配置:

    1.1K30

    StarRocks学习-初识

    shortkey index为稀疏索引, 用数据行的维度列的前缀查找索引表, 可以确定该行数据所在逻辑块的起始行号。...Per-column data block: 表中每一列数据按64KB分块存储,  数据块作为一个单位单独编码压缩, 也作为IO单位, 整体写回设备或者读出。..., 可以获取包含该行号的数据块所在位置, 读取目标数据块后, 可以进一步查找数据。...由此可见, 查找维度列的前缀的查找过程为:  先查找shortkey index, 获得逻辑块的起始行号, 查找维度列的行号索引, 获得目标列的数据块, 读取数据块, 然后解压解码, 从数据块中找到维度列前缀对应的数据项...RollUp表索引: shortkey index可加速数据查找, 然后shortkey index依赖维度列排列次序.

    2.3K30

    MySQL之MVCC原理详解

    数据会先对这行记录加排它锁 (2)然后把改行数据拷贝到undo log中,作为旧记录,即在undo log中由当前行的拷贝副本 (3)拷贝完毕后,修改该行的name为tom,并且修改隐藏字段的事务...,将age修改为30岁 (1)在事务2修改该行数据时,数据库也先为该行加在事务2修改该行数据时,数据库也先为该行加在事务2修改该行数据时,数据库也先为该行加锁 (2)然后把该行数据拷贝到...2能读到的最新数据记录是事务4所提交的版本,而事务4提交的版本也是全局角度上最新的版本 MVCC工作流程 MVCC相关问题 RR是如何在RC的基础上解决不可重复读的?...在上表的顺序下,事务B的在事务A提交修改后的快照读是旧版本数据,而当前读是实时新数据400 而在表这里的顺序中,事务B在事务A提交后的快照读和当前读都是实时的新数据400,是因为这里与上表的唯一区别仅仅是表...1的事务B在事务A修改金额前快照读过一次金额数据,而表2的事务B在事务A修改金额前没有进行过快照读。

    1.4K11

    Cache和DMA一致性

    而DMA如果和cache之间没有任何关系的话,可能会出现数据不一致。 例如,CPU修改了部分数据依然躺在cache中(采用写回机制)。...总线监视对于软件来说是透明的,软件不需要任何干涉即可避免不一致问题。但是,并不是所有的硬件都支持总线监视,同时操作系统应该兼容不同的硬件。因此在不支持总线监视的情况下,我们在软件上如何避免问题呢?...如果DMA负责把内存(DMA Buffer)数据发送到I/O设备,那么在DMA传输之前,可以clean DMA Buffer地址范围的高速缓存,clean的作用是写回cache中修改的数据。...同样,第二情况下,在DMA传输期间,如果CPU试图修改DMA Buffer,如果cache采用的是写回机制,那么最终写到I/O设备的数据依然是之前的旧数据。所以,这种使用方法编程开发人员应该格外小心。...此时,将temp数据写回,顺便也会将buffer[0]-buffer[60]的值写回。 在第4步中,就出现了问题。

    31010

    深入理解volatile关键字?

    可见性 通过对JMM的学习,我们都知道线程对主内存中共享变量的修改首先会从主内存获取值的拷贝,然后保存到线程的工作内存中。 接着在工作内存中对值进行修改,最终刷回主内存。...其他CPU缓存数据失效,则会重新去内存中读取值,也就是被修改的数据。...通过JMM内存交互协议我们可以知道,一个线程修改共享变量的值需要经过下面这些步骤: 1.线程从主内存中读取(read)共享变量的值,然后载入(load)到线程的工作内存中的变量; 2.使用(use)工作内存变量的值...,执行加减操作,然后将修改后的值赋值(assign)给工作内存中的变量; 3.将工作内存中修改后的变量的值存储(store)到主内存中,并执行写入(write)操作。...thread1执行了+1操作,然后写回主内存,这个时候thread2刚好执行完use操作(+1),准备执行assign(将+1后的值写回工作内存对应的变量中)操作。

    54710

    PostgreSQL INDEX 简单看 PG INDEX 创建并行原理

    ,基于多版本控制MVCC, Postgres中的更新包括查找要更新的行,并将该行的新版本插入数据库,引入的问题就是显而易见的,索引,这就需要更多的I/O,数据要重新插入到表上的每个索引中。...在插入的过程中需要先读取每个相关的索引,新版本行的物理位置与旧版本的物理位置不同。那一个表中有的索引越多,更改的数据量越大,牵扯的索引的消耗就越大。 ?...从上图可以看,如果没有HOT ,则索引页面在更新后,需要另一个指针指向修改后的INDEX 数据, 如果有了HOT 则不需要通过另外的指针 C 去指向修改后的索引,仅仅通过原有的指针,在原有的索引tuple1...在数据结构中的样子参看下图 ?...1 测试1 将name 中的 ID =1 的值进行update 但更改的值和原来一样 ?

    1.4K20

    liteos MMU(十八)

    1.2 运作机制 建立页表描述符号表,将物理地址映射成虚拟地址,以虚拟地址为媒介来操作和管理实际的物理内存。...页表描述符号表,是由用户根据所使用的主芯片的页表描述格式,去创建、修改和管理的,而内存则依据页表描述符号表进行映射、权限控制等。...页表描述符号表在创建或修改后,需要将它写入协处理器CP15才能生效,而协处理CP15正是内存管理的实际执行者。...开发指导 2.1 使用场景 系统内部有些内存不希望被修改,否则会造成不可预测的后果,此时可以用MMU修改该段内存的访问权限。...步骤2 在该段区间的内存中进行简单的写操作。 系统进入异常,说明将该内存设置为“只读”成功。 步骤3 注释掉2中的写操作,而是直接调用接口将读写权限重新修改为可读可写。

    92830

    【MySQL笔记】正确的理解MySQL的MVCC及实现原理

    ,改为 Tom 在事务 1修改该行(记录)数据时,数据库会先对该行加排他锁 然后把该行数据拷贝到 undo log 中,作为旧记录,既在 undo log 中有当前行的拷贝副本 拷贝完毕后,修改该行name...又来了个事务 2修改person 表的同一个记录,将age修改为 30 岁 在事务2修改该行数据时,数据库也先为该行加锁 然后把该行数据拷贝到 undo log 中,作为旧记录,发现该行记录已经有 undo...500 select lock in share mode当前读金额为400 在上表的顺序下,事务 B 的在事务 A 提交修改后的快照读是旧版本数据,而当前读是实时新数据 400 表2: 事务A 事务...这里与上表的唯一区别仅仅是表 1的事务 B 在事务 A 修改金额前快照读过一次金额数据,而表 2的事务B在事务A修改金额前没有进行过快照读。...,此后在调用快照读的时候,还是使用的是同一个 Read View,所以只要当前事务在其他事务提交更新之前使用过快照读,那么之后的快照读使用的都是同一个 Read View,所以对之后的修改不可见; 即

    80211

    MySQL数据库:事务和ACID实现原理

    ,导致事务需要回滚,便可以利用undo log中的信息将数据回滚到修改之前的样子。...2.2、如果不考虑事务的隔离性,在事务并发的环境下,可能存在问题有: (1)更新丢失:两个或多个事务操作相同的数据,然后基于选定的值更新该行时,由于每个事务都不知道其他事务的存在,就会发生丢失更新问题:...(2)脏读:指事务A正在访问数据,并且对数据进行了修改(事务未提交),这时,事务B也使用这个数据,后来事务A撤销回滚,并把修改后的数据恢复原值,B读到的数据就与数据库中的数据不一致,即B读到的数据是脏数据...② 可以采用锁机制来解决不可重复读和幻读: 对于不可重复读,只需对操作的数据添加行级锁,防止操作的数据发生变化;而对于幻读,需要添加表级锁,将整张表锁定,防止新增或者删除数据。...锁机制的基本工作原理就是:事务在修改数据库之前,需要先获得相应的锁,获得锁的事务才可以修改数据;在该事务操作期间,这部分的数据是锁定,其他事务如果需要修改数据,需要等待当前事务提交或回滚后释放锁。

    79521

    【考研408&计算机组成原理】存储系统之Cache考点

    最先进入Cache的数据块将最先被替换。 近期最少使用(LRU - Least Recently Used)算法: LRU算法会替换那些在最近一段时间内最少被访问的数据块。...写分配法(Write-Allocate Cache) 在写分配法中,当发生Cache未命中时,会将主存中的数据块加载到Cache中,然后执行写操作。...要注意的细节 脏位(Dirty Bit):在写回法中,每个Cache行通常都有一个脏位,用于标记该行数据是否被修改过。这样,在替换数据块时,只有被修改过的块才需要写回主存。...考题示例 选择题:选择正确的Cache写策略,并解释其工作原理。 在Cache的写回法中,当发生写操作时,数据是先写入到Cache还是主存? A. 主存 B....分析题:分析在多级Cache系统中,如何通过写策略来维护数据一致性。

    25610
    领券