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

Excel实战技巧55: 包含重复列表查找指定数据最后出现数据

文章详情:excelperfect 本文题目比较拗口,用一个示例来说明,如下图1所示,是一个记录员工值班日期表,安排每天值班时,需要查看员工最近一次值班日期,以免值班时间隔得太近。...A2:A10,如果相同返回TRUE,不相同则返回FALSE,得到一个由TRUE和FALSE组成数组,然后与A2:A10所行号组成数组相乘,得到一个由行号和0组成数组,MAX函数获取这个数组最大...,也就是与单元格D2相同数据A2:A10最后一个位置,减去1是因为查找是B2:B10,是从第2行开始,得到要查找B2:B10位置,然后INDEX函数获取相应。...图2 使用LOOKUP函数 公式如下: =LOOKUP(2,1/($A$2:$A$10=$D$2),$B$2:$B$10) 公式,比较A2:A10与D2,相等返回TRUE,不相等返回FALSE...组成数组,由于这个数组找不到2,LOOKUP函数在数组中一直查找,直至最后一个比2小最大,也就是数组最后一个1,返回B2:B10对应,也就是要查找数据列表中最后

10.4K20

PostgreSQL秒级完成大表添加带有not null属性带有default实验

近期同事讨论如何在PostgreSQL中一张大表,添加一个带有not null属性,且具有缺省字段,并且要求秒级完成。...因为此,有了以下实验记录: 首先我们是PostgreSQL 10下做实验: postgres=# select version();...,如何快速添加这么一个字段: 首先,在这里我们涉及三张系统表,pg_class(表属性)、pg_attribute(列属性)、pg_attrdef(缺省信息),接下来依次看一下三张表信息: #pg_class...# update pg_class set relnatts=relnatts+1 where relname='add_c_d_in_ms'; UPDATE 1 Time: 43.979 ms #添加缺省...postgres=# alter table add_c_d_in_ms add a10 text; ALTER TABLE #如果添加not null属性字段,则会检测其他字段属性,将会报错 postgres

8.1K130
您找到你想要的搜索结果了吗?
是的
没有找到

Flutter 2.8正式版发布了,还不来看看

本地测试,低端 Android 设备初始帧出现间隔时间最多减少了约 300ms。 在先前 Flutter 版本,出于谨慎考虑,创建 PlatformView 时会阻塞平台线程。...经过仔细推理和测试后,我们删除了部分序列化步骤,使得 GPay 低端设备上启动时间至少减少了 100ms。...之前版本 Flutter ,嵌入平台视图会创建一个 canvas,每嵌入一个平台视图都会新增一个 canvas。...此外,如果你之前没有使用过 webview 或者想复习一下,请查看 webview codelab,它将带你逐步完成 Flutter 应用托管 Web 内容过程。...在此版本,Flutter 2.8 除了已过期根据我们 破坏性改动政策 被删除已弃用 API 之外,没有重大变更。

22.3K30

TiDB 5.0 RC Release Notes

- 从 `SKetch` 删除 `TopN` 。 - 重构 `TopN` 搜索逻辑。 - 从直方图中删除 `TopN` 信息,建立直方图索引,方便维护 Bucket NDV。...,QPS 和延时会因为资源被抢占而出现性能抖动问题。...减少节点容量总是水位线附近波动引起调度及 PD store-limit 配置项设置过大引起调度,引入一套调度算分公式通过 region-score-formula-version =...(实验特性) Region 完成成员变更时,由于“添加”和“删除”成员操作分成两步,如果此时有故障发生会引起 Region 不可用并且会返回前端业务错误信息。...引入 Raft Joint Consensus 算法,可提升 Region 成员变更时可用性,将成员变更操作添加”和“删除”合并为一个操作,并发送给所有成员。

1.1K00

如何用TensorFlow和Swift写个App识别霉霉?

训练模型时,这些文件全都要用到,所以我把它们放在 Cloud Storage bucket 同一 data/ 目录进行训练工作前,还需要添加一个镜像文件。...返回每个边界框置信。...然后我将添加了边框照片保存至 Cloud Storage,写出照片到 Cloud Firestore 文件路径,这样我就能读取路径, iOS 应用中下载照片(带有识别框): const admin...iOS 应用我可以获取照片更新后 Firestore 路径。...下面就为你总结一下几个重要步骤: 预处理数据:收集目标的照片,用 Labelling 为照片添加标签,生成带边界框 xml 文件。然后用脚本将标记后图像转为 TFRecord 格式。

12.1K10

如何使用React和Firebase搭建一个实时聊天应用

2.安装Firebase和react-firebase-hookssrc文件夹下打开package.json文件,dependencies部分添加以下两行代码:"firebase": "^9.0.0...然后,终端运行以下命令来安装这两个依赖项:npm install firebase react-firebase-hooks3.使用Firebase Authenticationsrc文件夹下打开...firestore模块,创建一个firestore对象:import { firestore } from "...../firebase";const firestore = firestore();然后,src文件夹下打开Chatbox.js文件,在其中导入firestore模块,使用它来获取聊天室消息数据:import...每当rooms集合有数据时,它会更新messages状态,使其包含最新聊天室消息。然后,它使用一个无序列表来显示每条消息,使用Message组件来渲染每条消息内容。

45941

初学前端用代码实现一个网页老虎机游戏

不过要稍微留意一点,我们这里抖动应该也是要可控,因为老虎机游戏快结束时会停止抖动。...不过在下面代码我们可以看到移除抖动效果是2.6s之后才执行,原因是第三个数字列表需要等到游戏开始1s才开始滚动,而且滚动过渡时间为2s,那等到第三个数字列表滚动到结束总共需要3s,这里小编想要在第三个数字列表滚动结束之前将老虎机停止抖动...但是呢,小编还想再玩一把,然后我第二次点击开始手柄之前就想到了这个老虎机存在缺陷,总结起来包括以下几点: 游戏从开始到结束之后,再次点击开始手柄,应该将游戏进行重置 重置游戏过程不应该出现过渡效果...,由于游戏开始过程数字列表添加了过渡动画,会导致数字列表回到初始位置过程也会存在过渡动画,因此我们需要调用之前先声明好removeTranstion()来删除全部数字列表过渡效果。...3、 重置游戏时由于第一次开始游戏过程给老虎机添加抖动效果,重置时应该移除抖动效果。else代码块调用stopShake()即可。

5.1K10

Unity可编程渲染管线系列(十)细节层次(交叉淡化几何体)

MyPipeline,跟踪纹理。 ? 渲染摄像机之前配置抖动模式。这意味着设置纹理,我们还将全局设置其缩放变换数据。我们假定它是64×64纹理,因此UV比例变为1除以64。...但是,当在编辑器而不是播放模式下工作时,仅当发生更改时才渲染帧。这意味着当我们什么都不做时,抖动模式保持不变,但是当我们执行一项使人分心动作时突然改变。...这可以通过构造器配置动画之前检查Application.isPlaying来完成。 ? 3 着色器变体裁剪 将所有这些功能添加到着色器不利之处在于,最终会生成许多着色器变体。...接下来,创建一个Strip方法,该方法将简单着色器编译器数据集作为输入,返回是否应删除该变体。删除级联阴影启用两个相关关键字之一情况下就是这种情况。...可以通过在数据着色器关键字集上调用IsEnabled进行检查。 ? 现在,我们可以遍历OnProcessShader所有数据集,删除删除数据集。

3.7K31

Flutter 移动端架构实践:Widget-Async-Bloc-Service

然而,构建完成并将它们一次次重构之后,我调整出了一种我所有项目中都能够运行完好开发体系,因此,本文中,我将介绍一种我定义架构模式: 从现有的开发模式借鉴了很多思想; 调整它们以满足实际开发...揭晓其真面目之前,我先来定义一些目标,这种模式应该: 1.只要基本模块清晰,代码就会更 简单易懂 2.能够 依葫芦画瓢 轻易追加功能 3.建立 Clean 架构原则之上 4.编写 响应式  ...换句话说,我们从这样: [1240] 变成了这样: [1240] 异步方法可以: 1.将零个,一个或多个添加到输入接收器。...(false); } } 和一般BLoC一样,该方法会向接收器添加值;但除此之外,它也可以异步返回一个,或抛出一个异常。...结论 本文是对WABS深入介绍,WABS是我多个项目中使用了一段时间后探索得出架构模式。 说实话,随着时间推移我一直改进它,我写这篇文章之前它都还没有名字。

16K20

你了解redis如何组织数据高效运行吗?

redis如何新增一个kv redis键值都是redisObject对象,创建时会生成redisDb中一个键名和一个键值redisObject对象。...定时过期:设置key时,同时创建一个定时器,key过期时候,执行key删除操作。 惰性过期:每次查询时,判断是否过期,过期则进行删除。...而定期过期由activeExpireCycle函数实现,每当serverCron函数执行时,activeExpireCycle函数会在规定时间内分多次遍历各个数据库,在过期字典里随机检查一部分key过期时间删除...删除这个20个过期key。 如果过期比例超过4分之1,则重复删除。 工作小技巧 假设一个大型redis集群,大量key同时过期了,会出现什么样结果呢?...之前皮哥接手了一个电商某模块C端系统后,通过性能监控发现每天一个固定时间,用到redis接口都会出现性能抖动,可用率降低。

41030

Firestore 多数据库普遍可用:一个项目,多个数据库,轻松管理数据和微服务

这一特性旨在隔离客户数据,促进微服务以及开发、测试和 staging 环境管理。...该特 2023 年夏季发布预览,支持多区域以及同一项目中两种 Firestore 数据库模式,即原生模式和 Datastore 模式。...例如,你可以授予特定用户组仅对指定数据库访问权限,从而确保强大安全性和数据隔离。 这一特性也简化了成本跟踪:Firestore 现在基于每个数据库提供细粒度计费和使用分解。...Happeo 云架构师 Azidin Shairi 预览版期间测试了这一特性,写道: 这消除了为 Firestore 数据库创建多个项目的需要,如果你环境较小,这也降低了跨项目访问控制复杂性。...Liu 和 Nguyen 补充道: 创建过程需要谨慎选择数据库资源名和位置,因为这些属性创建后无法更改。不过你可以删除现有数据库,随后使用相同资源名不同位置创建数据库。

12510

基础渲染系列(十二)——半透明阴影

对所有变体使用插器,创建一个顶点和片段程序。 首先,将插定义移出条件块。然后将光向量设置为有条件。 ? 接下来,编写一个顶点程序,其中包含两个不同版本副本。...将UV坐标添加到顶点输入数据。我们不需要将此作为条件。然后有条件地将UV添加到插器。 ? 必要时,将UV坐标传递到顶点程序。 ?...2.3 抖动 要访问Unity抖动模式纹理,请将_DitherMaskLOD变量添加到“My Shadows”。...为了支持此选择,请将阴影功能添加关键字_SEMITRANSPARENT_SHADOWS阴影投射过程。 ?...因为尚未启用着色器功能,所以现在在使用“Fade”或“Transparent”渲染模式时会得到cutout阴影。 ?

3.2K40

用 awaitasync 正确链接 Javascript 多个函数

async/await 上有一些难以调试陷阱,因为我遇到了所有这些陷阱,所以我将在这里发布自己完整代码解释我学习过程。...这个调试是非常烦人云函数,你必须发送带有 res.send() 响应,否则函数会认为它失败并重新运行它。...我们不知道从 Firestore 获取内容需要多长时间,因此它是 async ,我们需要运行接下来两个函数返回(或以 promise 解析)courseEmail 。...接下来两个函数 saveToCloudFirestore() 和 sendEmailInSendgrid(),不能在 getEmailOfCourseWithCourseId() 之前运行返回 courseEmail...最后,在运行 saveToCloudFirestore() 和 sendEmailInSendgrid() 返回它们之前,不能发送 res.send(),否则我们整个云函数将在工作完成之前中断。

6.3K30

骑上我心爱小摩托,再挂上AI摄像头,去认识一下全城垃圾!

传统解决方法是将某种形式传感器分散城市,这些传感器将负责收集有关垃圾分布数据,但是这种方法成本很高,无论是安装还是维护都需要持续投资,而且对环境不友好,毕竟这种解决环境问题方法,同时又生产了更多一次性电子产品...车载软件使用经过修改Darknet来运行Yolo v3,检测结果通过一个滤波和积累模块提供,该模块将避免多个相邻视频帧中出现多次计算同一垃圾;它还将为一个”垃圾点”大约5米半径范围内进行多次检测。...垃圾GPS坐标通过简单gpsd接口从usb模块读取,将数据存储Google Firestore实时数据库,这样本地Google firebase SDK就被用于客户端应用程序开发。...Firebase客户端SDK包括一个通用API,可用于订阅客户端应用程序,以添加/更新/删除 Firestore数据库上运行在VespAI上应用程序产生活动。...我们计划使用Firestore分布式计数器来添加更多实时统计信息,例如基于区域每个垃圾类型每日和每周统计信息。 同样在后端。

10.3K30

go 应用在 k8s 如何优雅停止

,就会出现重启过程请求失败情况。...问题 3:过长关闭时间 场景 1:我们系统,有时会跑着一些定时任务,当这些定时任务在运行过程如果遇到应用需要重启情况,如果之间重启,那么势必会遇到任务运行到一半,下次重启之后可能会导致任务重复执行或其他异常情况...K8S 创建 Endpoint:这时才会将服务纳入 service,也就是服务开始接收请求了 pod 设置为 Terminating 状态,并从所有服务 Endpoints 列表删除:此时流量就不会打到老...大多数小实际业务,可能优雅关闭不会对你应用造成多大影响,可能只是小小一两次抖动就过去了,但其实优雅关闭能保证你应用时刻保持一个健康状态去面向用户,也是完成 SLA 关键。...当然优雅关闭还有更多可以优化点,如:当应用出现 panic 时怎么办,上层网关层面的重启如何优雅等等,剩下就需要你在工作吸取经验了。

1.2K11

AngularJS应用页面切换优化方案

,这些请求会在非常短时间内就完成了,我们感觉不到展示页面存在什么问题。...点击一个手机名称进入详细信息页面,同样是一开始只显示了html模板内容,然后才将参数数据填充到页面上。过程页面会出现抖动,非常影响用户体验。...$routeParams是获取不到任何。...PhoneDetailCtrl代码如下: 这样,就可以页面跳转之前获取到请求数据了。 为页面加入切换动画 为了让页面间切换更平滑,可以页面切换加入过渡动画。...当DOM元素变化时候,AngularJS会在元素上添加特定class: · ng-enter,当元素被添加时会被应用; · ng-move,当元素被移动时会被应用; · ng-leave,当元素被删除时会被应用

1.9K100

嵌入式系统架构浅谈:编程设计模式 (一)---访问硬件设计模式

订阅意思是允许数据服务器通知列表添加(和删除)自身。最常见通知策略是当数据到达服务器时,服务器发送数据。但是客户也能定期更新,向服务器获取数据,以减小服务器计算负担,确保客户具有实时数据。...subscribe(acceptPtr)服务添加指向接收函数通知列表指针。unsubscribe(acceptPtr)函数从通知列表删除接收功能。...deviceState通常是二属性,即ON或OFF。 1.5.2.3 硬件客户(DeviceClient) 是用于处理进入事件中断,去除抖动读取确保代表实际设备状态。...当中断号x出现时,CPU挂起当前进程,调用这个数组相应第x个索引地址。 1.6.2.3 向量指针(VectorPtr) VectorPtr是数据类型,具体是一个没有参数和返回函数指针。...当有可能会在中断和普通程序处理了同一个元素,设想当普通程序读取数据中途发生了中断,而中断会导致普通程序暂停,然后中断里面修改了数据返回。普通函数将会读取损坏数据,即部分是数据,部分是旧数据。

1.2K21

听饿了么前端主管如何解析H5渲染性能

优化JS执行(JS) 缩小样式计算范围降低其复杂性(style) 避免大型、复杂布局和布局抖动(layout、paint) 使用输入处理程序去除抖动(layout、paint) 坚持仅合成器属性和管理层技术...这里我们先假设一个场景,一个页面存在两个水平排列元素1、2,他们分别位于左右两端,我们要做是将1移动到2位置。对此最简单方案是设置position改变right或left。...由此引出了问题,浮动元素(渲染层)和合成层关系。对此我个人做了下总结:若合成层z-index小于下方兄弟元素,且他们有重叠,则下方兄弟元素也会被提升为合成层。 ?...这种实现方式没有指定浮动层z-index,因此区域1进行滑动时候,下方每个店铺列表都会被提升为单独层。...造成此问题原因和前面的案例类似,主要还是没有给拥有过渡动画效果小三角元素添加z-index,解决方案同样是为动画元素设置z-inde。

1.2K10

浅谈Golang两种线程安全map

=nil】返回false, // e.p==nil时会将其置为expunged返回true if !...key是否存在于Map.read dirtyLocked方法dirty为nil(刚被提升成readOnly或者Map初始化时)会从readOnly拷贝数据,如果readOnly数据量很大,可能偶尔会出现性能抖动...更适合读多更新多而插入场景(appendOnly模式,尤其是key存一次,多次读而且不删除情况),因为key存在情况下读写删操作可以不用加锁直接访问readOnly 不适合反复插入与读取场景...当用Store方法插入key时,会加锁访问dirty,并把readOnly未被标记为删除所有entry指针复制到dirty,此时之前被Delete方法标记为软删除entry(entry.p被置为...不同步状态,即readOnly存在dirty不存在key,那dirty提升为readOnly时会出现数据丢失问题。

2.7K20
领券