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

Excel公式技巧17: 使用VLOOKUP函数在多个工作表中查找相匹配的值(2)

我们给出了基于在多个工作表给定列中匹配单个条件来返回值的解决方案。本文使用与之相同的示例,但是将匹配多个条件,并提供两个解决方案:一个是使用辅助列,另一个不使用辅助列。 下面是3个示例工作表: ?...16:使用VLOOKUP函数在多个工作表中查找相匹配的值(1)》。...解决方案2:不使用辅助列 首先定义两个名称。注意,在定义名称时,将活动单元格放置在工作表Master的第11行。...D1:D10 传递到INDEX函数中作为其参数array的值: =INDEX(Sheet3!...B1,Arry2,,,)) 其结果将为: {0,0,0,0,0,0,0,0,0,0} 当然,也不能够单独只使用OFFSET函数: OFFSET(Sheet3!

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

    深入浅出了解OCR识别票据原理

    高阈值的自适应二值化技术。 2. 卷积神经网络(CNN)。 3. Haar特征分类器。 自适应二值化技术 [图片] 首先,我们看到,图中图像上包含了完整的数据,同时票据又与背景有些差距。...[图片] 使用卷积神经网络(CNN) 起初我们决定使用CNN来做相关位置检测的接收点,就像我们之前做对象检测项目一样。我们使用判断角度来拾取相关关键点。...[图片] 二值化 最终我们使用opencv中的adaptive_threshold方法进行二值化,经过二值化处理,我们得到了一个不错的图片。...[图片] 当然,这个方案的缺点是不能识别有噪声的文本。...我们使用ScipyPython模块中的RectBivariateSpline函数来参数化几何失真。并用Scipy函数进行优化。

    12.5K31

    深入浅出了解OCR识别票据原理

    高阈值的自适应二值化技术。2. 卷积神经网络(CNN)。3. Haar特征分类器。 自适应二值化技术 ? 首先,我们看到,图中图像上包含了完整的数据,同时票据又与背景有些差距。...我们使用Opencv中的自适应阈值化函数adaptive_threshold和scikit-image框架来调整收据数据。利用这两项函数,我们可以在高梯度区域保留白色像素,低梯度区域保留黑色像素。...通过链接组件检测文本 首先,我们使用Opencv中的find Contours函数找到链接的文本组。大多数链接的组件是字符,但是也有二值化留下来嘈杂的文本,这里我们通过设置阈值的大小来过滤相关文本。...当然,这个方案的缺点是不能识别有噪声的文本。 使用网格对文本进行检测 我们发现几乎所有票据都是相同宽度的文本,所以我们设法在收据上画出一个网格,并利用网格分割每个字符: ?...我们那个几个最初的几个选项多对比,发现有99%的准确识别率后。又通过对比字典来提高准确度,并消除相关类似的字符,如"З" 和 "Э"造成的错误。 ? 然而,当涉及嘈杂的文本时,该方法性能却十分低下。

    1.4K31

    Treevalue(0x02)——函数树化详细解析(上篇)

    gcd(t1, t2) 例子中,在左优先模式下计算结果如下,如图5所示 (图5,t2.b因t1.b的缺失而被忽略,而t2.x.c取缺省值1) 而在 gcd(t2, t1) 例子中,左优先计算结果如下...继承选项(inherit) 继承选项可以通过普通值的继承机制,让树化函数在实际应用中使用起来更加简洁,也让树参数可以和普通参数在树化后的函数中被混用。...从业务逻辑的角度来看,继承选项可以良好地适应大部分真实存在的值复用情况,且值和子树混用在大多数业务逻辑上也是有明确意义的。但是当混用在业务逻辑角度上意义不明且需要被显式地检测时,则建议关闭继承选项。...两者的功能分别为: 下沉(subside)——尝试将参数中顶层结构非树的对象,提取结构后将结构下沉至树内,使原函数在运行过程中可以接收到。关于下沉函数的具体细节可以参考之前文章。...t1 、 t2 、 t3 可以直接用列表装载,在原函数 check 中可以接收到对应位置上的值列表。

    32540

    面试官:换人!他连 TCP 这几个参数都不懂

    其次,TCP 有流量控制功能,当接收方接收窗口为 0 时,发送方就不能再发送数据。...因此,TIME_WAIT 和 FIN_WAIT2 状态的最大时长都是 2 MSL,由于在 Linux 系统中,MSL 的值固定为 30 秒,所以它们都是 60 秒。...所以后续有了扩充窗口的方法:在 TCP 选项字段定义了窗口扩大因子,用于扩大TCP通告窗口,使 TCP 的窗口大小从 2 个字节(16 位) 扩大为 30 位,所以此时窗口的最大值可以达到 1GB(2^...上面三个数字单位不是字节,而是「页面大小」,1 页表示 4KB,它们分别表示: 当 TCP 内存小于第 1 个值时,不需要进行自动调节; 在第 1 和第 2 个值之间时,内核开始调节接收缓冲区的大小;...根据实际场景调节的策略 在高并发服务器中,为了兼顾网速与大量的并发连接,我们应当保证缓冲区的动态调整的最大值达到带宽时延积,而最小值保持默认的 4K 不变即可。

    1.4K30

    TCP 窗口缩放、时间戳和 SACK

    这是由接收方宣布的。接收方将在读取并确认接收到传入数据时不断更新此值。接收窗口的当前值包含在 TCP 报头 中,它是 TCP 发送的每个数据段的一部分。...如果它遇到一个不能理解的选项号,则会跳过 该选项号附带的“长度”字节的数据,并检查下一个选项号。响应方忽略了从答复中无法理解的内容。这使发送方和接收方都够理解所支持的公共选项集。...接收方然后看到:s_2、s_n+1,s_2:数据包 s_2 被接收两次。 当发送方过早触发重新传输时,可能会发生这种情况。在正常情况下,即使使用窗口缩放,这种错误的重传也绝不会成为问题。...因此,在低延迟网络中,计时器应该比高延迟网络中更早到期。所以,TCP 重传超时不能使用固定常量值作为超时。它需要根据其在网络中所经历的延迟来调整该值。...因此,使用 “TCP Syn Cookie” 机制建立的连接不能支持 TCP 选项。 但是,对两个对等点都通用的 TCP 选项可以存储在时间戳中。

    1.4K10

    关于算法笔试,东哥又整出套路了🤔

    ,注意那些输出为「二值」的题目,二值就是类似布尔值,或者 0 和 1 这种组合有限的。...假设现在 labuladong 显灵,帮你在剩下的 99 个选项中排除了 98 个错误选项,只剩下一个选项,然后问你,你继续坚持原来的选择,还是换成帮你排除剩下的那个选项? 换啊!...那回过来看,四个选项,你开始蒙了一个,后来灵光一闪在剩下三个选项中排除了一个错误答案,那你换不换? 换啊!换了之后正确概率是 (1 - 1/4) / 2 = 3/8 啊!...其实这就是典型的「三门问题」,不知道的话看旧文 几个反直觉的概率问题。 编程语言的选择 仅从做算法题的角度来说,我个人比较建议使用 Java 作为笔试的编程语言。...简单说就是,不要把所有代码都写在 main 函数里面,我一直使用的套路是,main 函数负责接收数据,加一个 solution 函数负责统一处理数据和输出答案,然后再用诸如 backtrack 这样一个函数处理具体的算法逻辑

    59120

    如何与以太坊智能合约交互?

    链上的合约之间也可以通过调用对方的方法进行交互(不过是在链下调用之后,智能合约不能 "主动触发" 调用)。...ABI 规范 ABI 规范指出了在调用智能合约函数时如何构建发送到 "交易"中作为 "data" 的字节数据。字节数据包含 2 个主要部分: 函数选择器:前 4 个字节。...静态参数需要 32 个字节(在方法签名所指示的位置),它们包含参数的值(必要时用 0 填充)。动态参数则以不同的方式编码。...true, [1,2,3]) 时,ABI 规范编码数据为: 橙色字节=函数选择器, keccak256("sam(bytes,bool,uint256[])") 的前 4 个字节。...状态可变性 :函数的可变性:选项是 "view"(只从区块链中读取),"pure"(既不写也不从区块链中读取),"nonpayable"(不能接收以太币)和 "payable"(可接收以太币)。

    1.8K40

    unity官方案例精讲(第三章)--星际航行游戏Space Shooter

    使用多个摄影机时,每个摄影机在缓冲区中存储自己的颜色和深度信息,在每个摄影机渲染时累积更多数据。当场景中的任何特定摄影机渲染其视图时,可以设置清除标志以清除缓冲区信息的不同集合。...要是想飞船左右移动时,以一定的角度倾斜,需要在改变飞船位置的同时更新飞船的Rotation属性:在PlayerController类中添加一个倾斜系数tilt,设置默认值为4.0f....的一个静态方法,接收绕XYZ轴的旋转角度为参数,并返回一个Quaternion对象。...确保Play On Awake选项勾选 2、添加飞船射击音效 (1)将音频文件拖动到player上,取消勾选Play On Awake选项,不然一开始就会响 (2)在PlayerController脚本中添加以下代码...Text restartText;//重新开始的文本 private bool restart;//游戏是否从新开始的标志 (2)在Start中赋值,游戏开始时应该清除文本     //游戏开始

    3.3K30

    setsockopt与getsockopt

    optlen:对于getsockopt(),作为入口参数时,选项值的最大长度。作为出口参数时,选项值的实际长度。对于setsockopt(),现选项的长度。...函数功能: 获取或设置与某个套接字关联的选项。...level指定控制套接字的层次.可以取三种值: 1)SOL_SOCKET:通用套接字选项. 2)IPPROTO_IP:IP选项. 3)IPPROTO_TCP:TCP选项 以linux 2.6内核为例(在不同的平台上...该选项根据option_value的值,清或置sock->sk->sk_flag中的SOCK_PASSCRED位。 SO_TIMESTAMP,打开或关闭数据报中的时间戳接收。...在client连接服务器过程中,如果处于非阻塞模式下的socket在connect()的过程中可 以设置connect()延时,直到accpet()被呼叫(本函数设置只有在非阻塞的过程中有显著的 作用,

    1.2K30

    保持 Go 模块兼容

    有时,添加新函数和添加选项的技术可以通过将选项构造为方法接收器来组合。考虑 net 包侦听网络地址的能力的演变。在 Go 1.11 之前,net 包只提供了一个带有签名的侦听函数。...“Option types”模式,其中选项作为变量参数传递,并且每个选项都是一个函数,可以更改正在构造的值的状态。...一个被广泛使用的例子是 google.golang.org/grpc 的 DialOption。 在函数参数中,选项类型履行与 struct 相同的角色:它们是一种可扩展的传递行为修改配置的方法。...当一个类型的零值有一个有效的含义时,指定该选项应该有它的默认值,这种设计欠佳,通常需要一个指针或一个额外的布尔字段。 这两种方法都是确保模块公共 API 未来可扩展性的合理选择。...回想一下,net 包的作者在 Go 1.11 中添加了 ListenConfig,因为他们认为可能会有更多的选择。结果证明他们是对的。

    1.2K30

    【C与数据结构】——寒假提高每日练习Day2

    ,指针的地址,所以用二级指针接收,而数组首元素在这里指的是“ABCD”的首字符,p+1也就是s+1,即指向“EFGH”的‘E’,而打印一个字符串时知道该字符串的首字符便可以打印出来完整的该字符串,因此这里会打印出...A、*(&a[0][0]+5)     B、*(*(a+1)+1)     C、*(&a[1]+1)     D、*(a[1]+1) 答案:->C 解析:首先,A选项,二维数组在内存中的存储它的地址也是连续的...,可以用一级指针接收,而调用的函数参数为二级指针,因此A错误。...B同理,不可以用二级指针接收,C选项正确,q为数组名表示数组首元素地址,而数组的元素类型为int *,一级指针的地址所以用二级指针接收。...D、&数组名表示的是取出整个数组的地址,因此也不能用二级指针接收。 ---- 编程题 描述 在一个长为 字符串中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写).

    20020

    关于算法笔试的几个套路,一点就透

    ,注意那些输出为「二值」的题目,二值就是类似布尔值,或者 0 和 1 这种组合有限的。...假设现在 labuladong 显灵,帮你在剩下的 99 个选项中排除了 98 个错误选项,只剩下一个选项,然后问你,你继续坚持原来的选择,还是换成帮你排除剩下的那个选项? 换啊!...那回过来看,四个选项,你开始蒙了一个,后来灵光一闪在剩下三个选项中排除了一个错误答案,那你换不换? 换啊!换了之后正确概率是 (1 - 1/4) / 2 = 3/8 啊!...其实这就是典型的「三门问题」。 编程语言的选择 仅从做算法题的角度来说,我个人比较建议使用 Java 作为笔试的编程语言。...简单说就是,不要把所有代码都写在 main 函数里面,我一直使用的套路是,main 函数负责接收数据,加一个 solution 函数负责统一处理数据和输出答案,然后再用诸如 backtrack 这样一个函数处理具体的算法逻辑

    27020

    中国大学 MOOC 课程Python语言程序设计 (第11期)测试答案(1-5周)

    ,在Python中对应浮点数。...A {:.2f} B {:.2} C {.2} D {.2f} 正确答案 A :.2f 哪一个都不能少 300331588487018712 Hello World的条件输出 描述 获得用户输入的一个整数...def func(a,b): c=a**2+b b=a return c a=10 b=100 c=func(a,b)+a A 执行该函数后,变量b的值为100 B 该函数名称为func...C 执行该函数后,变量c的值为200 D 执行该函数后,变量a的值为10 正确答案 C 这里没有全局变量,请在IDLE中执行代码观察结果。...B 函数在调用前不需要定义,拿来即用就好 C Python内置函数调用前需要引用相应的库 D 函数和调用只能发生在同一个文件中 正确答案 A 函数调用前必须已经存在函数定义,否则无法执行。

    1.9K20

    【Linux网络编程】传输层协议TCP:ACK机制 | 超时重传机制 | 三次握手四次挥手 | 流量控制 | 滑动窗口 | 拥塞控制 | 面向字节流 | 粘包问题

    TCP协议格式 宏观上,在发送方的缓冲区中只是数据部分,经过传输层后添加报头。接收方在接收到报文时,需要将报头和数据分离。 TCP报头的标准长度是20字节,字节的宽度是4字节。...采用三次握手,在安全角度来看,可能也会存在上述SYN洪水的问题,但是三次握手保证了最后一次报文时客户端给服务器发送的,因此要想三次握手建立好连接,客户端需要先建立好连接。...它是通过 socket() 函数创建的套接字返回值,用于标识要设置选项的目标套接字。 level:指定套接字选项的协议层次。...常见的 level 值包括: SOL_SOCKET:表示在套接字层面设置选项(例如,设置发送缓冲区大小、关闭Nagle算法等)。...optval:指向包含选项值的缓冲区的指针。选项值的类型和内容由 optname 和 level 决定。

    33311

    Spark Structured Streaming + Kafka使用笔记

    在json中,-1作为偏移量可以用于引用最新的,而-2(最早)是不允许的偏移量。...当它不像你预期的那样工作时,你可以禁用它。如果由于数据丢失而不能从提供的偏移量中读取任何数据,批处理查询总是会失败。...解析数据 对于Kafka发送过来的是JSON格式的数据,我们可以使用functions里面的from_json()函数解析,并选择我们所需要的列,并做相对的transformation处理。...如上图所示,在 Update 模式中,只有本执行批次 State 中被更新了的条目会被输出: 在 12:10 这个执行批次,State 中全部 2 条都是新增的(因而也都是被更新了的),所以输出全部 2...条; 在 12:20 这个执行批次,State 中 2 条是被更新了的、 4 条都是新增的(因而也都是被更新了的),所以输出全部 6 条; 在 12:30 这个执行批次,State 中 4 条是被更新了的

    1.6K20

    Vue3学习笔记

    与watchEffect、provide与inject (2)新的内置组件 Fragment、Teleport、Suspense (3)其他改变 新的生命周期钩子、data选项始终被声明为一个函数、...——本质上是一个函数,把setup函数中使用的Composition API继续宁了封装。 类似于vue2中的mixin。 自定义hook的优势:复用代码,让setup中的逻辑更清楚易懂。...此时属性名是自己新定义的属性了,后面就是把值给这个属性名,不能响应式了。记住对象.属性名就是个值!!! return { age:toRef(sum,'age'),}此时age响应式。...使用场景:1.有些值不应被设置为响应式的,例如复杂的第三方类库等。 2.当渲染具有不可变数据源的大列表时,跳过响应式转换可以提高性能。...2.新的组件 (1)Fragment 在Vue2中:组件必须有一个根标签。 在Vue3中:组件可以没有根标签,内部会将多个标签包含在一个Fragment虚拟元素中。

    85700

    【Vue.js】934- 一文带你掌握Vue3新特性,再也不怕面试官啦

    前言 记录一下笔记,给各位小伙伴们分享一些常用的Vue3新特性及哪些方法发生了变更。 我这里只写一些常用的,更多请看Vue3官网这里 点击上方“前端娱乐圈”,选择“设为星标” 第一时间推送新姿势!...组件v-model支持参数 在Vue2.x时,我们要想给子组件传值,还得单独传入。Vue3.x直接以v-model:xxx形式传入参数,并且配合修饰符.sync进行数据同步更新。...Setup setup函数是一个新的组件选项。作为在组件内使用Composition Api的入口点。...WatchEffect 该方法接收一个函数并且立即执行,并当该函数里的变量变更时,重新执行该函数。该方法无法获取到原值,只能是改变之后的值。...Provide:接收2个参数,第一个key值,第二个value值,进行传递 Inject:接收2个参数,第一个是provide的key值,默认第二个参数可选,可以设置默认值(当找不到key值,设置一个默认值

    1.4K30

    温故Linux后端编程(五):SOCKET网络编程

    optlen:对于getsockopt(),作为入口参数时,选项值的最大长度。作为出口参数时,选项值的实际长度。对于setsockopt(),现选项的长度。...level指定控制套接字的层次.可以取三种值: 1)SOL_SOCKET:通用套接字选项. 2)IPPROTO_IP:IP选项. 3)IPPROTO_TCP:TCP选项 以linux 2.6内核为例(在不同的平台上...该选项根据option_value的值,清或置sock->sk->sk_flag中的SOCK_PASSCRED位。 SO_TIMESTAMP,打开或关闭数据报中的时间戳接收。...同步Socket的recv函数的执行流程:当应用程序调用recv函数时,recv先等待s的发送缓冲中的数据被协议传送完毕,(发送先) 如果协议在传送s的发送缓冲中的数据时出现网络错误,那么recv函数返回...recv函数仅仅是copy数据,真正的接收数据是协议来完成的),recv函数返回其实际copy的字节数; 如果recv在copy时出错,那么它返回SOCKET_ERROR;如果recv函数在等待协议接收数据时网络中断了

    83320
    领券