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

Excel公式:提取的第一个

标签:Excel公式,INDEX函数,MATCH函数 有时候,工作表行的数据可能并不在第1个单元格,而我们可能会要获得行第一个单元格的数据,如下图1所示。...在单元格H4输入公式: =IFERROR(INDEX(C4:G4,0,MATCH("*",C4:G4,0)),"") 然后向下拖拉复制公式至数据单元格末尾。...公式,使用通配符“*”来匹配第一个找到的文本,第二个参数C4:G4指定查找的单元格区域,第三个参数零(0)表示精确匹配。 最后,IFERROR函数在找不到单元格时,指定返回的。...这里没有使用很复杂的公式,也没有使用数组公式,只是使用了常用的INDEX函数MATCH函数组合来解决。公式很简单,只是要想到使用通配符(“*”)来匹配文本。

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

MySQL NULL的区别?

01 小木的故事 作为后台开发,在日常工作如果要接触Mysql数据库,那么不可避免会遇到Mysql的NULL。那你知道它们有什么区别吗? 学不动了,也不想知道它们有什么区别。...面试官:那你能大概说一下Mysql NULL的区别吗? 小木:(思考…)NULL都用过,你要我说它两有啥区别,这个我还真没仔细想过,反正实际开发中会用! 听了小木的这个回答。...02 NULL NULL也就是在字段存储NULL也就是字段存储空字符(’’)。...NULL列需要行的额外空间来记录它们的是否为NULL。 通俗的讲:就像是一个真空转态杯子,什么都没有,而NULL就是一个装满空气的杯子,虽然看起来都是一样的,但是有着本质的区别。...6:实际到底是使用NULL还是(’’),根据实际业务来进行区分。个人建议在实际开发如果没有特殊的业务场景,可以直接使用。 以上就是我的对此问题的整理思考,希望可以在面试帮助到你。

2.4K10

小白学习MySQL - TIMESTAMP类型字段默认属性的影响

[MySQL][ODBC 5.3(w) Driver][mysqld-5.7.20-log]Invalid default value for 'updatetime' 细致的同学,可能会注意到,日志记录的...SQL语句显示createtimeupdatetime都只声明了TIMESTAMP类型,缺少了原始建表语句中的NULLDEFAULT属性,这会有什么影响?...timestamp 列 cannot be null》这篇文章其实介绍过,MySQL中有个explicit_defaults_for_timestamp变量,他决定了MySQL是否为TIMESTAMP列的默认...(2) 表的第一个TIMESTAMP列,如果没有明确地用NULL属性,DEFAULT属性或ON UPDATE属性声明,将自动用DEFAULT CURRENT_TIMESTAMPON UPDATE CURRENT_TIMESTAMP...另外,多说一点,原始语句中createtimeupdatetime列都指定了默认,但还是设置NULL属性,这其实就有些矛盾了,或者说是设计上的不严谨,规范设计开发的角度,还是应该避免的, create

4.6K40

Excel公式技巧69:查找第一个

学习Excel技术,关注微信公众号: excelperfect 在《Excel公式技巧63:查找最后一行》,我们使用LOOKUP函数的公式获取最后一个或该所在的行号。...如果列表的前面有空,那么如何获取第一个呢? 如下图1所示的工作表,在数据列存在一些单元格,且在第一个前面就存在单元格。 ?...图1 输入数组公式: =INDEX(B3:B12,MATCH(FALSE,ISBLANK(B3:B12),0)) 可以获取数据列第一个单元格的。...FALSE的位置,即第一个单元格的位置,得到: 2 传递给INDEX函数,得到: =INDEX(B3:B12,2) 结果为: 完美Excel 如果要获取第一个数字,则可以使用数组公式: =INDEX...欢迎到知识星球:完美Excel社群,进行技术交流提问,获取更多电子资料。

14.5K30

返回函数LastnonBlank的第2参数使用方法

函数LastnonBlank第2参数使用方法 LastnonBlank(,) 参数 描述 column 列名或者具有单列的表,单列表的逻辑判断 expression...如果我们第二参数只写一个常数,则等同于返回列表的最大,主要差异表现在汇总合计上。 有2张表,一张是余额表,另外一张是日历表,并做关系链接。 ? ? 我们来看下3种写法,返回的不同结果。...解释:带常数的LastnonBlank度量值,不会显示汇总,因为只返回日期列里的最大。因为LastnonBlank是根据ACISS大小来返回最后一个,也就是返回ACISS的最大。...第1个度量,既然知道第2参数是常数,也就是返回最大,日历筛选的时候,因为汇总的时候是没有指定的,所以返回为空白。 第2个度量,是在日历表上进行筛选后进行返回最后日期,所以返回的也不带有汇总。

2K10

技术分享 | MySQL 的 TIMESTAMP 类型字段默认属性的影响

MySQL][ODBC 5.3(w) Driver][mysqld-5.7.20-log]Invalid default value for 'updatetime' 细致的同学,可能会注意到,日志记录的...SQL 语句显示 createtime updatetime 都只声明了 TIMESTAMP 类型,缺少了原始建表语句中的 NULL DEFAULT 属性,这会有什么影响?...cannot be null》这篇文章其实介绍过,MySQL 中有个 explicit_defaults_for_timestamp 变量,他决定了 MySQL 是否为 TIMESTAMP 列的默认...(2) 表的第一个 TIMESTAMP 列,如果没有明确地用 NULL 属性,DEFAULT 属性或 ON UPDATE 属性声明,将自动用 DEFAULT CURRENT_TIMESTAMP ON...另外,多说一点,原始语句中 createtime updatetime 列都指定了默认,但还是设置 NULL 属性,这其实就有些矛盾了,或者说是设计上的不严谨,规范设计开发的角度,还是应该避免的

5K20

js关于假数组的总结

1、“假”总共只有6个: false,undefined,null,0,""(空字符串),NaN 除此之外的所有,都是“真值”,即在逻辑判断可以当true来使用 用代码表示: if(false&&...2、对于数组对象的疑惑 疑惑来源:用数组对象进行if语句判断为true,但是数组true进行==运算时,返回的是false 用代码表示: if([]){ console.log(...'数组转化为布尔为true');//数组转化为布尔为true } if({}){ console.log('对象转化为布尔为true');//对象转化为布尔为true } if(...[]==true){ console.log('数组等于true'); }else{ console.log('数组等于false');//数组等于false } 为什么数组转化为布尔是...原因分析:if ([ ]) {} 里发生自动类型转换,[ ] => Boolean,object到布尔型,结果是true。

5.1K30

数据库约束-主键约束-唯一约束-约束-默认

数据库约束-主键约束-唯一约束-约束-默认 约束概述 约束其实就是一种限制,用于修饰表的列. 通过这种限制来保证表数据的正确性、有效性完整性。...约束的类型 约束名 约束关键字 主键 primary key not null 唯一 unique 外键 foreign key ... references 默认 default 1....主键是给数据库程序使用的,不是给最终的客户使用的。所以主键有没有含义没有关系,只要不重复,空就行。 1.2 创建主键 # 主键:PRIMARY KEY # 主键的特点: 1....约束 NOT NULL 被修饰的这个字段必须设置,不能是NULL 3.1 约束的基本格式 字段名 字段类型 NOT NULL 3.2 实现约束 具体操作: 创建表学生表st8, 包含字段(...默认 DEFAULT 往表添加数据时,如果不指定这个字段的数据,就使用默认 4.1 默认格式 字段名 字段类型 DEFAULT 默认 4.2 实现字段默认 具体操作: 创建一个学生表 st9

6K10

PG11新特性解读:新增默认字段不需要重写表

PG11新特性解读:新增默认字段不需要重写表 1、如何理解这个特性 在postgresql11之前,为表增加一个包含默认的字段,将会导致表重写,为每一行添加该字段,并填充默认。...而在11版本,新增加一个功能,将不再重写表。而是将默认的属性添加到系统表pg_attribute,该表描述每一列的信息。...如果新增字段有默认,那么atthasmings置为true,attmissingval为默认。...这个表不管是否是alter table添加默认字段 postgres=# \d pg_attrdef Table "pg_catalog.pg_attrdef" Column...3)对于表已存在的行查询时返回attmissingval属性的,插入新的行,若指定带默认字段,则查询时不需要返回attmissingval属性的,否则需要返回attmissingval属性的

1.2K30

. - 在有总bps限速条件下,单个channel的bps不能为,也不能为正数

- 在有总bps限速条件下,单个channel的bps不能为,也不能为正数 三、定位原因 很明显,error信息里面也说了,DataX的配置有问题,单个channel的bps不能为,也不能为正数...单个channel的bps通过core.transport.channel.speed.byte设置,在core.json,默认为-1。...如果设置了总bps限速,那单个channel的bps不能为,也不能为正数。 channel的数量=总bps限速/单个channel的bps。...如果设置了总tps限速,那单个channel的tps不能为,也不能为正数。 channel的数量=总tps限速/单个channel的tps。...如果bps限速tps限速都没有设置,那才读取直接设置的,也就是说,直接设置的优先级最低。 如果都没有设置,那直接抛异常,也就是说,必须设置Job运行速度。

1.2K30

Java8新特性】知识点总结,你都会了吗?

Java7与Java8HashMap JDK7 HashMap结构为数组+链表(发生元素碰撞时,会将新元素添加到链表开头) JDK8 HashMap结构为数组+链表+红黑树(发生元素碰撞时,会将新元素添加到链表末尾...,当HashMap总容量大于等于64,并且某个链表的大小大于等于8,会将链表转化为红黑树(注意:红黑树是二叉树的一种)) JDK8 HashMap重排序 如果删除了HashMap红黑树的某个元素导致元素重排序时...,不需要计算待重排序的元素的HashCode码,只需要将当前元素放到(HashMap总长度+当前元素在HashMap的位置)的位置即可。...与 limit(n) 互补 distinct——筛选,通过流所生成元素的 hashCode() equals() 去除重复元素 中间操作 map——接收 Lambda , 将元素转换成其他形式或提取信息...实例,否则创建实例 isPresent() : 判断是否包含 orElse(T t) : 如果调用对象包含,返回该,否则返回t orElseGet(Supplier s) :如果调用对象包含

43110

HashMap原理及源码分析

HashMapjava8的改变 hashmap原理 HashMap简单来说就是一个散列表,存储着key-value键值对 HashMap的存储结构是一个数组加链表的结构,在java8之后链表在长度超过...hashmap源码分析 hashmap的初始化 hashmap的初始默认容量是16,如果超过阈值则会扩容,在扩容的时候要重新计算hash将其放入新的hashmap,因此扩容操作是一个相当耗时的操作...= null) { // 判断该位置的第一个元素的key是否get的key相等 if (first.hash == hash && // always check...指定了新增阈值-->带参初始化 newCap = oldThr; else { // 数组为,没有指定新的阈值,采用默认初始-->无参初始化...在java8的改变 hash冲突的时候的单链表在java8超过阈值会转化为红黑树,优化了查找速度 在链表插入由头插法改成了尾插法,是由于原本的头插法在扩容时,高并发下会导致链表成环的问题,而尾插法扩容时会保持链表元素的顺序

36330

Java集合框架知识整理

不允许、不支持non-comparable(不可比较)的对象,每次队列取出的是具有最高优先权的元素,线程不安全。...HashMap:底层是用链表数组,Java8后又加了红黑树来实现,键无序不可重复可为null、可重复可为null,存取速度快,线程不安全。...e是否成功的布尔 boolean remove(Object o),返回集合删除元素o是否成功的布尔 boolean containsAll(Collection<?...新增的不用写是否为null的检测语句向Map中保存keyvalue的元素的默认接口方法,即如果通过key获取到的value是的,则在调用put(key, value)方法并返回value default...extends V> remappingFunction),Java8新增的默认接口方法,将Lambda表达式的结果存放到Map,如果计算的新为null则返回null,且移除以前有的keyvalue

56720

JAVA集合:HashMap

HashMap 最多只允许一条记录的键为 null。 HashMap 线程安全,即任一时刻可以有多个线程同时写 HashMap,可能会导致数据的不一致。...每次扩容的容量都是之前容量的2倍 2、JDK7的扩容机制 JDK7的扩容机制相对简单,有以下特性: 参数的构造函数:以默认容量、默认负载因子、默认阈值初始化数组。内部数组是数组。...() 默认构造函数,构造一个具有默认初始容量(16)默认负载因子(0.75)的哈希映射 public HashMap(int initialCapacity) 用指定的初始(初始容量)构造一个的...HashMap ,负载因子使用默认的 public HashMap(int initialCapacity, float loadFactor) 用指定的初始(初始容量负载因子)构造一个HashMap...关于死循环的问题,在Java8个人认为是不存在了,在Java8之前的版本之所以出现死循环是因为在resize的过程对链表进行了倒序处理;在Java8不再倒序处理,自然也不会出现死循环。

35510

Java面试集锦(一)之Java集合

Map:键值对、键唯一、不唯一。Map 集合存储的是键值对,键不能重复,可以重复。根据键得到,对 map 集合遍历时先得到键的 set 集合,对 set 集合进行遍历,得到相应的。 4....HashMapHashMap 底层是基于数组链表实现的 图片 每个绿色的实体是嵌套类 Entry 的实例,Entry 包含四个属性:key, value, hash 用于单向链表的 next...为了降低这部分的开销,在 Java8 ,当链表的元素超过了 8 个以后,会将链表转换为红黑树,在这些位置进行查找的时候可以降低时间复杂度为 O(logN)。...图片 Java7 中使用 Entry 来代表每个 HashMap 的数据节点,Java8 中使用 Node,基本没有区别,都是 key,value,hash next 这四个属性,不过,Node...HashMap 线程安全 TreeMap 线程安全 HashMap:数组方式存储key/value,线程安全,允许null作为keyvalue,key不可以重复,value允许重复,不保证元素迭代顺序是按照插入时的顺序

38910
领券