首页
学习
活动
专区
圈层
工具
发布

在不确定列号的情况下如何使用Vlookup查找

最近小伙伴在收集放假前的排班数据 但是收上来的数据乱七八糟的 长下面这样 但是老板们只想看排班率 所以我们最终做的表应该是这样 需要计算出排班率 排班率=排班人数/总人数 合计之外的每一个单元格...都需要引用 除了最基础的等于=引用 我们还有一种更加万能的Vlookup+Match的方法 这样无论日期怎么变化 无论日期顺序是否能对上 我们都不用更改公式 例如A部门,2月1日的排班率应该这么写 =...IFERROR(VLOOKUP($A18,$A$1:$K$8,MATCH(B$17,$A$2:$K$2,0),0)/VLOOKUP($A18,$M$2:$N$8,2,0),"-") A18 单元格为部门...A A1:K8 单元格为我们收集到的排班人数 B17 单元格为排班率日期 A2:K2 单元格为我们排班人数的日期 M2:N8单元格是总人数 其中 分子排班人数的公式是 VLOOKUP...$K$8,MATCH(B$17,$A$2:$K$2,0),0) 排班人数里面的日期匹配 我们用Match函数动态确定列号 MATCH(B$17,$A$2:$K$2,0) 分母总人数比较简单 就是常规的Vlookup

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

    openstack nova-compute在不同的hypervisors上使用不同的存储后端

    192.168.2.240 compute1 192.168.2.242 compute2 192.168.2.243 compute3 192.168.2.248 compute4 192.168.2.249 在不同的计算节点使用不同的存储后端...Scheduler 为了使nova的调度程序支持下面的过滤算法,需要修改使之支持 AggregateInstanceExtraSpecsFilter ,编辑控制节点的 /etc/nova/nova.conf...enabled | | 7 | compute3 | up | enabled | +----+---------------------+-------+---------+ 在本例中...flavor m1.ceph-compute-storage 启动4台虚拟机,发现虚拟机磁盘文件全部在ceph的pool中 复制 # nova list +-----------------------...,不在同一个主机集合的主机仍然可以选择,但是无法迁移,需要增加只能在所在主机集合内迁移的功能 ---- 参考文章 OpenStack: use ephemeral and persistent root

    3K50

    使用 Vagrant 在不同的操作系统上测试你的脚本

    我使用 Vagrant 已经很长时间了。我使用几种 DevOps 工具,把它们全安装在一个系统上会搞得很乱。Vagrant 可以让你在不破坏系统的情况下随意折腾,因为你根本不需要在生产系统上做实验。...一个简单的命令行界面让你启动、停止、暂停或销毁你的“盒子”。 考虑一下这个简单的例子。 假设你想写 Ansible 或 shell 脚本,在一个新的服务器上安装 Nginx。...不会再有“但它在我的机器上运行良好!”这事了。 开始使用 首先,在你的系统上安装 Vagrant,然后创建一个新的文件夹进行实验。...vagrant halt:关闭当前的“盒子”。 vagrant destroy:销毁当前的“盒子”。通过运行此命令,你将失去存储在“盒子”上的任何数据。...如果你不开发软件,但你喜欢尝试新版本的操作系统,那么没有比这更简单的方法了。今天就试试 Vagrant 吧! 这篇文章最初发表在 作者的个人博客 上,经许可后被改编。

    1.7K10

    如何正确的在 Android 上使用协程 ?

    第一类是 Medium 上热门文章的翻译,其实我也翻译过: 在 Android 上使用协程(一):Getting The Background 在 Android 上使用协程(二):Getting started...在 Android 上使用协程(三) :Real Work 说实话,这三篇文章的确加深了我对协程的理解。...在 Android 中,一般是不建议直接使用 GlobalScope 的。那么,在 Android 中应该如何正确使用协程呢?再细分一点,如何直接在 Activity 中使用呢?...如何配合 ViewModel 、LiveData 、LifeCycle 等使用呢?我会通过简单的示例代码来阐述 Android 上的协程使用,你也可以跟着动手敲一敲。...使用上是没有任何问题的,可以正常的弹出 Toast 。但是当你执行这个方法之后,立即按返回键返回上一页面,仍然会弹出 Toast 。

    4.4K30

    iOS开发之使用Storyboard预览UI在不同屏幕上的运行效果

    在公司做项目一直使用Storyboard,虽然有时会遇到团队合作的Storyboard冲突问题,但是对于Storyboard开发效率之高还是比较划算的。...在之前的博客中也提到过,团队合作使用Storyboard时,避免冲突有效的解决方法是负责UI开发的同事最好每人维护一个Storyboard, 公用的组件使用轻量级的xib或者纯代码来实现。...言归正传,接下来就介绍一下如何使用Storyboard来预览UI在不同那个分辨率屏幕上的运行效果,这就很好的避免了每次调整约束都要Run一下才能看到不同平面上运行的效果,今天的博客就来详述一下如何使用Storyboard...接下来就一步一步的来看一下如何进行效果的预览。   ...一、创建工程添加测试使用的UIImageView     创建一个测试工程,在ViewController上添加4个不同尺寸的UIImageView, 并且添加上不同的约束,最后添加上不同的文艺小清新的图片

    3.4K80

    如何使用事件委托在不同的类之间传递事件?

    在不同的类之间使用事件委托传递事件是一种常见的编程模式,它允许一个类(事件发布者)触发事件,而另一个类(事件订阅者)可以对这些事件做出响应。...以下将详细介绍在 C# 中如何使用事件委托在不同的类之间传递事件,以 WinForm 应用场景为例。 1. 理解事件委托的基本概念 委托(Delegate):委托是一种类型,它可以引用一个或多个方法。...2.3 订阅和触发事件 在主程序中,创建事件发布者和事件订阅者的实例,将事件处理方法订阅到事件上,并触发事件。...在 WinForm 中使用事件委托传递事件 在 WinForm 应用程序中,也可以使用类似的方法在不同的类之间传递事件。...总结 使用事件委托在不同的类之间传递事件是一种强大且灵活的编程模式。通过定义事件委托和事件,创建事件发布者和事件订阅者类,并将事件处理方法订阅到事件上,可以实现类与类之间的解耦和消息传递。

    1.5K10

    【python】如何用canvas在自己设计的软件上作画

    很多人说python最好学了,但扪心自问,你会用python做什么了? 刚开始在大学学习c语言,写一个飞行棋的小游戏,用dos界面来做,真是出力不讨好。...Python中的Pillow库来展示gif图片,具体可以使用以下代码: from PIL import Image # 打开gif图片 im = Image.open('example.gif')...总结 使用HTML5的Canvas API来在自己设计的软件上作画。首先需要在HTML文件中创建一个canvas元素,并设置它的宽度和高度。...然后使用JavaScript代码获取canvas元素的上下文,通过调用上下文的绘图方法来绘制图形。例如,可以使用上下文的fillRect方法来绘制一个矩形。还可以使用其他方法来绘制线条、圆形、文本等。...需要注意的是,Canvas API的使用需要一定的编程基础。

    1.6K20

    使用nvm在一台电脑上便捷管理多个不同版本的nodejs

    (2)将下载好的安装包放入nvm文件夹中,解压,进行安装。 确认是否安装成功 在小黑窗输入 nvm 。...四、node 的不同版本安装及切换 使用 nvm install 命令安装指定版本的NodeJS 先别装!都先给我去配淘宝镜像!看问题部分! 问题:下载界面不动了?...,重新输入安装命令,但是提示已经安装成功,此时是由于之前有执行过安装命令导致nvm建了一个空的node版本文件夹,删掉重新再装一次即可。...五、开始使用 检查是否真的安装了nodejs 装成功后在 NVM 安装目录下出现一个 所安装版本的文件夹,这时可以尝试在小黑窗使用 nvm list 命令查看已安装 NodeJS 列表。...(这里直接安装成功了没有卡住,推断应该是前面配置了淘宝镜像的成果) 切换node版本 (1)使用 nvm use 切换需要使用的 NodeJS 版本。

    1.8K10

    如何使用python 执行命令行传入的代码

    这样就可以在将 globals 传给 eval() 之前通过向其传入你自己的 _builtins_ 字典来控制可供被执行代码可以使用哪些内置模块。...因此,在将执行的代码传递给 exec() 之前,可以通过将自己的 _builtins_ 字典插入到 globals 中来控制可以使用哪些内置代码。...source 可以是常规的字符串、字节字符串,或者 AST 对象。参见 ast 模块的文档了解如何使用 AST 对象。...如果给出了 flags 参数而未给出 dont_inherit (或者为零) 则会在无论如何都将被使用的旗标之外还会额外使用 flags 参数所指定的编译器选项和 future 语句。...但是python对与缩进等的要求比较严格,命令行传参,比较长的函数,就会出错,怎么办呢,可以使用base64 编码后,在脚本里面进行解码的方式进行处理。

    2.2K20

    如何使用Spiped在Ubuntu 16.04上加密到Redis的流量

    如果您的环境与该假设不匹配,则必须单独将Redis流量包装在加密中。 在本指南中,我们将演示如何使用名为spiped的安全管道程序加密Redis流量。...在Redis服务器上生成加密密钥 接下来,在Redis服务器上的/etc中创建一个spiped配置目录,以存储我们将为加密生成的密钥: sudo mkdir /etc/spiped 键入以下内容生成安全密钥...此处使用的选项与Redis服务器上使用的选项非常相似,但有以下区别: -e:指定进入源套接字的流量需要加密。这将建立源套接字和目标套接字之间的关系。 -s:定义源套接字,就像之前一样。...您需要执行上面列出的以下操作。...(例如,用于复制或群集),您需要设置两个并行隧道: 在新服务器上,安装Redis服务器软件包和 spiped 为新的Redis服务器生成新的加密密钥(为该文件使用一个唯一名称) 将加密密钥从一个服务器复制到另一个服务器的

    2.3K00

    如何使用lazyCSRF在Burp Suite上生成强大的CSRF PoC

    Burp Suite是一个拦截HTTP代理,是执行Web应用程序安全测试的强大工具。 引入lazyCSRF之后,Burp Suite就可以直接生成CSRF PoC了。...在此之前,我比较喜欢使用的是“Generate CSRF PoC”,但这个插件无法自动判断请求的内容,而且它甚至还会使用“form”来生成无法用“form”表示的 PoC,例如使用JSON作为参数或PUT...除此之外,在生成的CSRF PoC中,可以在Burp套件本身中显示的多字节字符经常会显示成乱码。因此,lazyCSRF便应运而生了。...工具使用 我们可以通过在菜单栏中选择“Extensions -> LazyCSRF -> Generate CSRF PoC By LazyCSRF”来生成一个CSRF PoC。...命令行构建 我们也可以选择在命令行中使用maven进行代码构建: $ mvn install 许可证协议 本项目的开发与发布遵循MIT开源许可证协议。

    1.7K20

    如何在Windows上使用Python,看看微软的官方教程

    随着Python持续火热状态,微软开始重视Python在Windows系统上的运行,于是它出品了一个官方教程。这个教程包含了入门,web开发,自动化和脚本,数据库,常见问题,资源。...这个教程的总目录为: ? 我们来看分别查看这六个子目录。 ? 初学者入门 ? ? 这个教程主要是讲Python和VS Code的安装,以及基础的Python编程知识。 ? Web开发 ? ?...这个教程主要介绍网页开发的基础知识,包括Flask以及Django的基础知识。 ? 脚本和自动化 ? ? 这个教程主要讲如何建立脚本实现自动化程序。 ? 数据库入门 ? ?...这里有很多资源的链接,包括线上的Python课程以及Web开发资源。 ? 点评 ? 微软的这个教程个人觉得比较全面。有一点就是,它所谓的"针对Windwos用户"似乎还是不太到位。...比如对于数据库中MongoDB的安装,教程还是Linux系统版本的。总体而言,作为入门教程,是非常值得一看的。 ·END·

    1.3K20
    领券