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

如何使用Excel将某几列有值的标题显示到新列中

如果我们有好几列有内容,而我们希望在新列中将有内容的列的标题显示出来,那么我们怎么做呢? Excel - TEXTJOIN function 1....- - - - 4 - - - 在开始,我们曾经使用INDEX + MATCH的方式,但是没有成功,一直是N/A https://superuser.com/questions/1300246/if-cell-contains-value-then-column-header...所以我们后来改为TEXTJOIN函数,他可以显示值,也可以显示值的标题,还可以多个列有值的时候同时显示。...- - 4 - - - 15 Year 5 - - - - 5 - - - =TEXTJOIN(", ",TRUE,IF(ISNUMBER(B2:I2),$B$1:$I$1,"")) 如果是想要显示值,...则: =TEXTJOIN(", ",TRUE,IF(ISNUMBER(B2:I2),B2:I2,"")) 其中,ISNUMBER(B2:I2)是判断值是不是数字,可以根据情况改成是不是空白ISBLANK

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

    为什么 HashMap 要用 h^(h >>>16) 计算hash值?槽位数必须是 2^n?

    先说结论: 一切的操作,只为增大随机性,减少hash的碰撞几率;让值保存的位置更加分散,散列性更好,提高读写性能。 本文将探讨以下几个问题? 为什么计算hash要做h ^ (h >>> 16)运算?...除了低四位参与了计算,其他全部没有起到任何的作用,这样就会导致,key的hash值是低位相同,高位不同的话,计算出来的槽位下标都是同一个,大大增加了碰撞的几率; 但如果使用h ^ (h >>> 16),...将高位参与到低位的运算,整个随机性就大大增加了; 问题二:为什么槽位数(数组长度)必须是2^n?...根据源码可知,无论是初始化,还是保存过程中的扩容,槽位数的长度始终是2^n;通过(2^n - 1) & hash公式计算出来的槽位索引更具散列性;假如默认槽位数n的长度不是16(2^4),而是17,会出现什么效果呢...00010000,最终参与&(与运算)的只有1位,其他的值全部被0给屏蔽了;导致最终计算出来的槽位下标只会是0或16,那么所有的值也就只会保存在这两个槽位下;其他索引将永远无法命中,这对HashMap来说

    1.1K10

    原 荐 SparkSQL简介及入门

    另外,使用这种方式,每个数据记录产生一个JVM对象,如果是大小为200GB的数据记录,堆栈将产生1.6亿个对象,这么多的对象,对于GC来说,可能要消耗几分钟的时间来处理(JVM的垃圾收集时间与堆栈中的对象数量呈线性相关...比如针对二元数据列,可以用字节编码压缩来实现(010101)     这样,每个列创建一个JVM对象,从而可以快速的GC和紧凑的数据存储;额外的,还可以使用低廉CPU开销的高效压缩方法(如字典编码、行长度编码等压缩方法...商品的其他数据列,例如商品URL、商品描述、商品所属店铺,等等,对这个查询都是没有意义的。     而列式数据库只需要读取存储着“时间、商品、销量”的数据列,而行式数据库需要读取所有的数据列。...比如,性别列只有两个值,“男”和“女”,可以对这一列建立位图索引:     如下图所示     “男”对应的位图为100101,表示第1、4、6行值为“男”     “女”对应的位图为011010,表示第...2、3、5行值为“女”     如果需要查找男性或者女性的个数,只需要统计相应的位图中1出现的次数即可。

    2.5K60

    SparkSQL极简入门

    另外,使用这种方式,每个数据记录产生一个JVM对象,如果是大小为200GB的数据记录,堆栈将产生1.6亿个对象,这么多的对象,对于GC来说,可能要消耗几分钟的时间来处理(JVM的垃圾收集时间与堆栈中的对象数量呈线性相关...显然这种内存存储方式对于基于内存计算的spark来说,很昂贵也负担不起) 2、SparkSql的存储方式 对于内存列存储来说,将所有原生数据类型的列采用原生数组来存储,将Hive支持的复杂数据类型(如array...比如针对二元数据列,可以用字节编码压缩来实现(010101) 这样,每个列创建一个JVM对象,从而可以快速的GC和紧凑的数据存储;额外的,还可以使用低廉CPU开销的高效压缩方法(如字典编码、行长度编码等压缩方法...商品的其他数据列,例如商品URL、商品描述、商品所属店铺,等等,对这个查询都是没有意义的。 而列式数据库只需要读取存储着“时间、商品、销量”的数据列,而行式数据库需要读取所有的数据列。...比如,性别列只有两个值,“男”和“女”,可以对这一列建立位图索引: 如下图所示 “男”对应的位图为100101,表示第1、4、6行值为“男” “女”对应的位图为011010,表示第2、3、5行值为

    3.9K10

    SQL Server 索引和表体系结构(包含列索引)

    ,至少需要有一个键列,且键列和非键列不允许重复,非键列最多允许1023列(也就是表的最多列-1),由于索引键列(不包括非键)必须遵守现有索引大小的限制(最大键列数为 16,总索引键大小为 900 字节)...最大键长度为 900 个字节。索引 'IX2_Customers' 的最大长度为 940 个字节。对于某些大值组合,插入/更新操作将失败。...列修改准则 修改已定义为包含列的表列时,要受下列限制: 将列的为空性从 NOT NULL 改为 NULL。 增加 varchar、nvarchar 或 varbinary 列的长度。...除非先删除索引,否则无法从表中删除非键列。 除进行下列更改外,不能对非键列进行其他更改: 注意事项 键列的大小尽量小,有利用提高效率 将用于搜索和查找的列为键列,键列尽量不要包含没必要的列。...特别是,将 varchar(max)、nvarchar(max)、varbinary(max) 或 xml 数据类型添加为非键索引列会显著增加磁盘空间要求。这是因为列值被复制到了索引叶级别。

    1.4K80

    matlab三维画图

    plot3 plot3是三维画图的基本函数,绘制的是最为主要的3D曲线图,最主要的调用格式是: plot3(X,Y,Z) 当X,Y,Z为长度同样的向量时,plot3命令将绘得一条分别以向量X,Y,Z为(...x,y,z)坐标值的曲线 当X,Y,Z均为m*n的矩阵时,plot3命令将绘得m条曲线,每条曲线均为X,Y,Z列向量为(x,y,z)坐标值的曲线 mesh mesh与plot3不同的是它能够绘出在某一区间内完整的曲面...最主要的调用格式是: mesh(X,Y,Z) 须要注意的是X和Y必须为向量,假设X和Y的长度分别为m和n,则Z必须为m*n的矩阵,即[m,n]=size(Z),在这样的情况下网格线的顶点为(X(j),Y...着色的方法时在得到对应的网格后,对每一个网格根据该网格所代表的节点的色值来定义这一网格的颜色。...这样matlab就会进行对应插值。第三假设想做成两维图模拟三维图效果,如今想到的方法是手动旋转将三维图旋转成两维图,再添�colorbar。

    97420

    Springboot2.0教程(12)

    另一个很好的例子就是测试库。我们通常使用Spring Test,JUnit,Hamcrest和Mockito库。在Spring项目中,我们应该将所有这些库添加为依赖项。...它用在一个索引的所有部分被联接使用并且索引是UNIQUE或PRIMARY KEY。eq_ref可以用于使用= 操作符比较的带索引的列。比较值可以为常量或一个使用在该表前面所读取的表的列的表达式。...ref可以用于使用=或操作符的带索引的列。 ref_or_null:该联接类型如同ref,但是添加了MySQL可以专门搜索包含NULL值的行。在解决子查询中经常使用该联接类型的优化。...通常可以增加更多的索引而不要使用ALL,使得行能基于前面的表中的常数值或列值被检索出。 possible_keys:possible_keys列指出MySQL能使用哪个索引在该表中找到行。...key_len:key_len列显示MySQL决定使用的键长度。如果键是NULL,则长度为NULL。注意通过key_len值我们可以确定MySQL将实际使用一个多部关键字的几个部分。 这是

    68100

    Scala数组操作

    壹 定长数组: 长度不变的数组Array,如:声明一个长度为10的整形数组,val arr = Array[Int](10);声明并初始化一个字符串数组: val arrStr = Array(“wo...,用这种方式最简单了 for(i 0) print i //打印出arrbuff1中为整数的值 arrbuff1.filter( _ > 0).map...arr.mkString("(",",",")") //指定前缀、分隔符、后缀 更多函数参见Scaladoc 伍 多维数组: val matrix = Array.ofDim[Int](5,4) //三行四列的二维数组...matrix(2)(3) //访问第二行、第三个元素 陆 scala数组和java互操作: 由于scala数组是用java数组实现的,所以可以在java和scala之间来回传递,引入scala.collectin.JavaConversion...,可以在代码中使用scala缓冲,在调用java方法时,这些对象会被自动包装成java列表。

    1K10

    python数据处理和数据清洗

    1.库的相关简介 python里面是通过模块体现库的,可以降低程序员的使用成本,提高程序的开发效率; 标准库:官方提供的; 第三方库:其他的大佬做出来的(数量庞大); 2.数据处理之添加新列 import...pandas as pd df = pd.read_csv("/Users/feifei/hotpot.csv") # 计算性价比评分,通过赋值,将结果添加为df的"性价比评分"列 df["性价比评分..."] = (df["口味评分"]/df["人均消费"])*40 # 计算氛围评分,通过赋值,将结果添加为df的"氛围评分"列 df["氛围评分"] = (df["服务评分"]+df["环境评分"])/...的"性价比评分"列 df["性价比评分"] = (df["口味评分"]/df["人均消费"])*40 # 计算氛围评分,通过赋值,将结果添加为df的"氛围评分"列 df["氛围评分"] = (df["...duplicated()函数,判断重复的机制,是会把出现相同值的第二个及以后的数据,判断为True 这样,保证每个数据都保留一个唯一值。

    10910

    Sparksql源码系列 | 读源码必须掌握的scala基础语法

    如果传递所有预期的参数,则表示您已完全应用它。如果只传递几个参数并不是全部参数,那么将返回部分应用的函数。这样就可以方便地绑定一些参数,其余的参数可稍后填写补上。...逻辑执行计划解析器ResolveRelations(解析表和视图): 逻辑执行计划优化器ColumnPruning(列剪裁): 2、嵌套函数 Scala允许定义函数内部的函数,而在其他函数中定义的函数称为局部函数...toResult方法的实现是通过柯里化函数的参数传入的。 4、可变参数函数 Scala允许指定函数的最后一个参数可重复,这允许客户端将可变长度参数列表传递给函数。...5、case模式匹配 用的最多,解析规则、优化器中会经常用到 6、case类 case类在模式匹配中经常使用到,当一个类被定义成为case类后: Scala会自动创建一个伴生对象并实现了apply方法...case类 7、case类的copy()方法 copy()方法返回当前对象的复制,可以通过传递属性名 = 值的方式来自定义赋值出的对象的值 ColumnPruning(列裁剪)优化器,通过copy方法把子节点中不需要的列裁剪掉

    99420

    详解Apache Hudi Schema Evolution(模式演进)

    新列的类型 nullable : 新列是否可为null,可为空,当前Hudi中并未使用 comment : 新列的注释,可为空 col_position : 列添加的位置,值可为FIRST或者AFTER...某字段 • 如果设置为FIRST,那么新加的列在表的第一列 • 如果设置为AFTER 某字段,将在某字段后添加新列 • 如果设置为空,只有当新的子列被添加到嵌套列时,才能使用 FIRST。...Yes Yes 添加具有默认值的新复杂类型字段(map和array) Yes Yes 添加新的可为空列并更改字段的顺序 No No 如果使用演进模式的写入仅更新了一些基本文件而不是全部,则写入成功但读取失败...将嵌套字段的数据类型从 int 提升为 long Yes Yes 对于复杂类型(map或array的值),将数据类型从 int 提升为 long Yes Yes 在最后的根级别添加一个新的不可为空的列...作为一种解决方法,您可以使该字段为空 向内部结构添加一个新的不可为空的列(最后) No No 将嵌套字段的数据类型从 long 更改为 int No No 将复杂类型的数据类型从 long 更改为

    2.1K30

    数据库之数据表控制语句

    2、非空约束(不允许列的值为空) mysql> create table tab3( -> id int(6) not null, # not null :不允许为空...5、设置自增值(一般用于id列,自增列必须设置为主键) 注:mysql只允许设置初始值,而不允许设置自增值,也就是说,可以设置为第一个值为5,然后依次递增,如:5、6、7.....但不可以设置其一次递增...1、修改列值的数据长度 mysql> desc tab1; +-------+--------------+------+-----+---------+-------+ | Field | Type...现在将t3表的name列添加为t1表的name列的外键(其中t3_t1_name为自定义的约束名称): mysql> alter table tab3 add constraint tab3_tab1_...你能够这样说:表1的学号字段是表2的外键 ————————外键解释结束—————— 7、删除列 mysql> alter table tab3 drop zuihou; 注意:如果要删除的列和其他表中的列有关联关系

    1.1K40

    SQL主键怎么使用,你会了吗?

    本文将介绍SQL主键的定义、作用以及在数据库设计和查询中的使用方法。Primary Key主键是一列或一组列,用于唯一标识表中的每一行数据。...主键有如下作用:唯一标识数据:主键确保表中的每一行数据都具有唯一的标识符,避免了数据冗余和重复。数据完整性:主键约束确保表中的主键列不包含空值(NULL),并且每个主键值都是唯一的。...避免过度使用复合主键:复合主键由多个列组成,但过多的复合主键可能导致查询和维护复杂性增加。考虑性能因素:主键的选择和设计应考虑查询性能,尽量避免使用过长的列作为主键。...设置为了Customers的主键,并且将其设置为自增。...,那些被声明为不能包含 NULL 值的字段,才能使用 ALTER TABLE 命令添加为主键。

    52910

    SQL主键怎么使用,你会了吗?

    本文将介绍SQL主键的定义、作用以及在数据库设计和查询中的使用方法。Primary Key主键是一列或一组列,用于唯一标识表中的每一行数据。...主键有如下作用:唯一标识数据:主键确保表中的每一行数据都具有唯一的标识符,避免了数据冗余和重复。数据完整性:主键约束确保表中的主键列不包含空值(NULL),并且每个主键值都是唯一的。...避免过度使用复合主键:复合主键由多个列组成,但过多的复合主键可能导致查询和维护复杂性增加。考虑性能因素:主键的选择和设计应考虑查询性能,尽量避免使用过长的列作为主键。...设置为了Customers的主键,并且将其设置为自增。...,那些被声明为不能包含 NULL 值的字段,才能使用 ALTER TABLE 命令添加为主键。

    58520

    Scala入门学习笔记三--数组使用

    前言 本篇主要讲Scala的Array、BufferArray、List,更多教程请参考:Scala教程 本篇知识点概括 若长度固定则使用Array,若长度可能有 变化则使用ArrayBuffer...提供初始值时不要使用new,复杂对象数组没有提供初始值时必须提供new 用()来访问元素 用for(elem <- arr)来遍历数组 用for(elem 将原数组转型为新数组 Scala数组和Java数组可以互操作 数组 1、定长数组定义: //定义一个长度为10的数值数组 scala> val numberArray = new Array[int...](10) numberArray:Array[Int] = Array(0,0,0,0,0,0,0,0,0,0) //定义一个长度为10的String类数组 scala> val strArray =...Scala中的等效数据结构为ArrayBuffer //导入可变包,Scala中的可变集合都是放在mutable中,使用时要导入 scala> import scala.collection.mutable.ArrayBuffer

    1.3K100

    Scala入门必刷的100道练习题(附答案)

    、在list1列表开头添加元素t 43、在列表开头添加指定列表List("m","n")的元素 44、在列表list1后添加元素1 45、将列表的所有元素添加到 StringBuilder 46、将列表的所有元素添加到...","Spark","Java" 78、遍历iter1,使用while循环并打印输出 79、定义一个迭代器iter2,数据为10,20,20,30,34,50,60 80、打印出iter2中的最大值 81...、打印出iter2中的最小值 82、打印出iter2的长度 83、合并iter2和iter1两个迭代器 84、iter2丢弃前2个元素 85、检查iter2是否为空 86、iter2返回前 2个元素的新迭代器...92.定义一个变长数组 a,数组类型为string,长度为0 93.向变长数组中添加元素spark 94.定义一个包含以下元素的变长数据,10,20,30,40,50 95.b数组删除元素50 96.在...b数组后面追加一个数组Array(70) 97.使用for循环遍历b数组的内容并输出 98.使用for循环遍历b数组的索引下标,并打印元素 99.在scala中数组常用方法有哪些?

    3K10

    Spark MLlib特征处理 之 StringIndexer、IndexToString使用说明以及源码剖析

    更多内容参考我的大数据学习之路 文档说明 StringIndexer 字符串转索引 StringIndexer可以把字符串的列按照出现频率进行排序,出现次数最高的对应的Index为0。...针对训练集中没有出现的字符串值,spark提供了几种处理的方法: error,直接抛出异常 skip,跳过该样本数据 keep,使用一个新的最大索引,来表示所有未出现的值 下面是基于Spark MLlib...val model = indexer.fit(df) val indexed = model.transform(df1) indexed.show(false) } } 得到的结果为...,但是它其实还做了其他的事情: override def transform(dataset: Dataset[_]): DataFrame = { ... // --------...(即数组的长度) } else { ... // 如果是error,就抛出异常 } } // 保留之前所有的列,新增一个字段,并设置字段的

    2.7K00
    领券