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

精通Excel数组公式022:提取唯一值列表并排序(续)

注意,COUNTIF函数用来统计公式所在单元格之前的区域中该单元格值出现的次数,这使得区域中相同的数字根据出现的顺序给出顺序值,而不是RANK函数给出的相同的顺序值。...而单元格区域C2:C5中的数字表示,如果排序该列表,有几个数据在你的前面。...注意到单元格区域E3:H3,有3个TRUE值和1个FALSE值,将3个TRUE值相加,结果为3,与上图18中的数字3相对应,表明该值前面有3个数据。 ?...图21 下面,通过在公式前面加上双减号将TRUE和FALSE值转换为1和0,然后将结果相加,得到想要的数值组成的数组:{0;3;0;2}。如下图22、23、24和25所示。 ? 图22 ?...你可以到知识星球App的完美Excel社群下载这本电子书的完整中文版。 欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。

5.4K10

Linux三剑客之sed

然后,它执行为该行指定的所有操作,并在完成请求的修改之后的内容显示出来,也可以存放到文件中。完成了一行上的所有操作之后,它读取文件的下一行,然后重复该过程直到它完成该文件。...参数: 1 sed -h 2 -n, --quiet, --silent 取消自动打印模式空间 3 -e 脚本, --expression=脚本 添加“脚本”到程序的运行列表 4...指定“l”命令的换行期望长度 8 --posix 关闭所有 GNU 扩展 9 -r, --regexp-extended 在脚本中使用扩展正则表达式 10 -s, --separate 将输入文件视为各个独立的文件而不是一个长的连续输入...2 [:alnum:] 字母数字 [a-z A-Z 0-9] 3 [:alpha:] 字母 [a-z A-Z] 4 [:blank:] 空格或制表键 5 [:cntrl:] 任何控制字符 6 [...11 [:space:] 空格 12 [:upper:] 大写 [A-Z] 13 [:xdigit:] 十六进制数字 [0-9 a-f A-F] 例a,删除1,14行 1 $ sed -e '1,14d

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

    sed入门详解教程 原

    \{2\}:表示前边字符的重复次数是2。 \{2,\}:表示前边字符的重复次数至少是2,也就是大于等于2。 \{2,9\}:表示前边字符的重复次数大于2但小于9。 8....4、数字定址和正则定址混用 其实数字定址和正则定址可以配合使用,参考下边的例子。 例子1: sed -n ‘1,/^TS/d’ message 说明:匹配从第1行到TS开头的行,把匹配的行删除。...例子2: sed ‘1,2c A’ message 说明:将message文件中1-2行的内容替换为A,注意这里说的是将1-2行所有的内容只替换为一个A内容,也就是1-2行内容编程了一行,定址如果连续就是这种情况...例子3: sed ‘1,2c A\nA’ message 说明:将message中1-2行内容分别替换为了A,需要在替换内容上手动加换行\n,这样当然也可以将一行内容替换为多行内容。...sed ‘p;p’ /etc/passwd 实例10:隔行删除 sed ‘0~2{=;d}’ /etc/passwd 实例11:把文件从第22行到第33行复制到56行后面。

    1.5K30

    Linux如何通过命令查看日志文件的某几行(中间几行或最后几行)「建议收藏」

    例如: $ wc – lcw file1 file2 4 33 file1 7 52 file2 11 11 85 total 举例分析: 1.统计demo目录下,js文件数量: find demo/...2.定址 定址用于决定对哪些行进行编辑。地址的形式可以是数字、正则表达式、或二者的结合。如果没有指定地址,sed将处理输入文件的所有行。 地址是一个数字,则表示行号;是“$”符号,则表示最后一行。...范围可以用数字、正则表达式、或二者的组合表示。.../[Mm]y/ 匹配包含My或my的行 [^] 匹配不在指定字符组内的任一字符 /[^Mm]y/ 匹配包含y,但y之前的那个字符不是M或m的行 \(..\) 保存已匹配的字符 1,20s...sed ‘1,20y/hrwang12/HRWANG^$/’ datafile #将1到20行内,所有的小写hrwang转换成大写,将1转换成^,将2转换成$。 #正则表达式元字符对y命令不起作用。

    9.8K60

    25个实用的JavaScript开发小技巧

    // false 5、扩展运算符 你可以使用扩展运算符 (...) 将一个数组的元素“扩展”到另一个数组中。...[x, y] = [y, x]; 23、指数运算符 你可以使用 ** 运算符,而不是使用 Math.pow() 函数来将数字求幂: // LONGER FORM Math.pow(4,2); // 16...Math.pow(2,3); // 8 // SHORTHAND 4**2 // 16 2**3 // 8 24、舍入数字时 Math.floor 的简写 你可以使用 ~~ 运算符,而不是使用 Math.floor...() 函数来向下舍入数字: // LONG FORM Math.floor(5.25) // -> 5.0 // SHORTHAND ~~5.25 // -> 5.0 25、将字符串转换为数字 你可以使用一元运算符...( +) 将字符串转换为数字: // LONGER FORM const num = parseInt("1000"); // SHORTHAND const num = +"1000"; 我想将这个速记包括在列表中

    76020

    Linux下文本处理“三剑客”

    但如果加上 -n 参数后,则只有经过sed 特殊处理的那一行(或者动作)才会被列出来 -f,–file=script-file 以选项中指定的script文件来处理输入的文本文件...“”,而不是‘’。...记得好像是) 取代 sed -i '/匹配字符串/s/替换源字符串/替换目标字符串/g' filename sed '1,2c hi' test.txt ## 将第一二两行替换为hi 插入(目前的上一行...= 不等于,精确比较 && 逻辑与 || 逻辑或 + 匹配时表示1个或1个以上 /[0-9][0-9]+/ 两个或两个以上数字 /[0-9][0-9]*.../ 一个或一个以上数字 OFS 输出字段分隔符, 默认也是空格,可以改为其他的 ORS 输出的记录分隔符,默认为换行符,即处理结果也是一行一行输出到屏幕 -F [:#/]

    1.1K30

    【动态规划の数位 DP】数位 DP 的经典运用

    示例 1: 输入:n = 20 输出:1 解释:具有至少 1 位重复数字的正数(只有 11 。...示例 2: 输入:n = 100 输出:10 解释:具有至少 1 位重复数字的正数(11,22,33,44,55,66,77,88,99 和 100 。...示例 3: 输入:n = 1000 输出:262 提示: 数位 DP 首先 共有 个数,而求解 范围内有多少个「至少有 位重复数字」的数的个数,等价于「总数...于是问题转换为:如何求解「没有重复数」的数的个数,同时为了更具一般性,我们将求解 范围内「没有重复数」的数的个数,修改为求解 范围内「没有重复数」的数的个数。...其他细节:乘积数组的预处理与样例无关,我们可以使用 static 进行打表优化,同时可以将 res1 和 res2 两种情况进行合并。

    52730

    上古神器 sed 教程详解,小白也能看的懂

    ; {},表示前边字符的数量范围,{2},表示重复 2 次,{2,}重复至少 2次,{2,4} 重复 2-4 次; [],括号中可以包含表示字符集的表达式,使用方法大概如下几种 ?...:表示前置字符有 0 个或 1 个; +:表示前置字符有 1 个或多个; |:表示匹配其中的一项即可; ():表示分组,(a|b)b 表示可以匹配 ab 或 bb 子串,且命令表达式中可以通过 \1、\...这种情况下,就需要我们去定位特定的行来进行处理,而不是全部内容,这里把定位指定的行叫做 定址。 (一)数字定址 数字定址其实就是通过数字去指定要操作的行,有几种方式,每种方式都有不同的应用场景。...ts/,/^te/d' file.txt (三)数字定址和正则定址混用 数字定址和正则定址可以配合使用 # 匹配从第1行到ts开头的行,把匹配的行执行删除 $ sed '1,/^ts/d' file.txt...子命令 =,可以将行号打印出来 # 将指定行上边显示行号 $ sed '1,2=' file.txt # 可以将行号设置在行首 $ sed '=' file.txt | sed 'N;s/\n/\t/

    2.5K30

    Linux sed命令详解

    接着下一行,这样不断重复,直到文件末。文件内容没有改改变,除非使用了写入的命令,将内容更新。 定址用于决定对哪些进行编辑。地址的形式可以是数字、正则表达式、或二者的结合。...如果没有指定地址,sed将处理输入文件的所有行。 sed命令功能 命令 功能 a\ 在当前行后添加一行或多行。...G 把暂存缓冲区的内容追加到模式空间里,追加在原有内容的后面 l 列出非打印字符 p 打印行 n 读入下一输入行,并从下一条命令而不是第一条命令开始对其的处理 q 结束或退出...备注:范围可以用数字、正则表达式、或二者的组合表示 显示中5到10行里匹配root,把行内所有的root替换为FTL,并打印到屏幕上 sed '5,10 s/root/FTL/g' yum.log【仅显示用...*k:(.*)#\1 \2#g' (.*)表示匹配的项,之后可以用\1取出第一个括号内匹配的内容,\2取出第二个括号内匹配的内容 ? 配合find命令的使用 find .

    4.9K20

    Python 变量作用域与函数

    1000 ## Python 函数的详解 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段,函数能提高应用的模块性,和代码的重复利用率,一个较大的程序一般应分为若干个程序块,每一个模块用来实现一个特定的功能...#将八进制转为十进制 110 >>> print(int("1A2C31",base=16)) #将十六进制转为十进制 1715249 float(): 实例化浮点类型,或将数字字符串转换为浮点型,仅限于数字字符串...,或将元组列表转换为字典类型仅限元组形式列表类型. (1) 实例化字典类型 >>> d1 = dict({"os":"ubuntu","version":15.10,"kernel":"4.2.0-16...) 将元组形式的列表转换为字典 >>> l1 = [('a',1),('b',11),('c',45)] >>> d1 = dict(l1) >>> print(type(d1),d1) {'b': 11, 'c': 45, 'a': 1} #注意:zip()这个内置方法可以将两个列表生成元组形式列表类型 set(): 实例化可变集合类型,或其他类型转换成集合类型. (

    2.4K20

    ❤️肝下25万字的《决战Linux到精通》笔记,你的Linux水平将从入门到入魔❤️【建议收藏】

    权限:(0664/-rw-rw-r--) Uid:( 1000/ python) Gid:( 1000/ python) 最近访问:2019-11-22 22:43:17.565105155...恢复到最初状态 :1,$s/hadoop/root/g 将第一行到追后一行的hadoop替换为root :1,$s/hadoop/root/c 将第一行到追后一行的hadoop替换为root(有提示)...输入 1 到 5 之间的数字:7 你输入的数字不是 1 到 5 之间的! 游戏结束 continue命令与break命令类似,只有一点差别,它不会跳出所有循环,仅仅跳出当前循环。...10 awk数组 AWK的数组底层数据结构是散列表,索引可以是数字或字符串。...比如『:100,200s/vbird/VBIRD/g』表示在100到200行之间将vbird替换为VBIRD :1,$s/word1/word2/g 或 :%s/word1/word2/g $表示最后一行

    2.3K10

    如何在一场面试中展现你对Python的coding能力?| 技术头条

    2. 使用递推式构造列表而不是map()和filter() “我认为删除filter()和map()是非常有争议的。”...(x)] [1, 9, 7] 就像我们在map中看到的那样,filter和列表推导方法返回相同的值,但列表推导更容易理解。...你可能已经看到了排序的最简单用法,例如按升序或降序排序数字或字符串列表: >>> sorted([6,5,3,7,2,4,1]) [1, 2, 3, 4, 5, 6, 7] >>> sorted(['...面试官几乎总是注意到(并询问)这种类型的设计选择。 更糟糕的做法 为避免从列表转换为集合,你现在可以在不使用任何其他数据结构的情况下将值存储在列表中。...你可以使用字典或defaultdict增加计数,但collections.Counter提供了一种更清晰,更方便的方法。

    1.1K30

    如何在一场面试中展现你对Python的coding能力?

    2. 使用递推式构造列表而不是map()和filter() “我认为删除filter()和map()是非常有争议的。”...(x)] [1, 9, 7] 就像我们在map中看到的那样,filter和列表推导方法返回相同的值,但列表推导更容易理解。...你可能已经看到了排序的最简单用法,例如按升序或降序排序数字或字符串列表: >>> sorted([6,5,3,7,2,4,1]) [1, 2, 3, 4, 5, 6, 7] >>> sorted(['...面试官几乎总是注意到(并询问)这种类型的设计选择。 更糟糕的做法 为避免从列表转换为集合,你现在可以在不使用任何其他数据结构的情况下将值存储在列表中。...你可以使用字典或defaultdict增加计数,但collections.Counter提供了一种更清晰,更方便的方法。

    1.4K40

    如何在一场面试中展现你对Python的coding能力?

    2. 使用递推式构造列表而不是map()和filter() “我认为删除filter()和map()是非常有争议的。”...(x)] [1, 9, 7] 就像我们在map中看到的那样,filter和列表推导方法返回相同的值,但列表推导更容易理解。...你可能已经看到了排序的最简单用法,例如按升序或降序排序数字或字符串列表: >>> sorted([6,5,3,7,2,4,1]) [1, 2, 3, 4, 5, 6, 7] >>> sorted(['...面试官几乎总是注意到(并询问)这种类型的设计选择。 更糟糕的做法 为避免从列表转换为集合,你现在可以在不使用任何其他数据结构的情况下将值存储在列表中。...你可以使用字典或defaultdict增加计数,但collections.Counter提供了一种更清晰,更方便的方法。

    1.2K30

    手把手教你学会Python函数式编程

    比如数字的最大公约数是什么,从1到n的乘积是什么等等。 因此,变量不能变化。一旦你设置了一个变量,它就永远保持这种状态(注意,在纯函数式语言中,它们不是变量)。因此,函数式编程没有副作用。...通常可以迭代的对象是列表或数组,但Python有许多不同的类型可以迭代。你甚至可以创建自己的对象,这些对象可以通过实现魔术方法进行迭代。...如果我们不使用“list”,该函数将存储iterable的定义,而不是列表本身。我们需要明确告诉Python“把它变成一个列表”供我们使用。 在Python中突然从非惰性求值转向惰性求值有点奇怪。...但事实是,编写只有其他函数式程序员才能阅读的代码会有一定的乐趣。此外,使用一个函数并将其转换为一行代码是非常酷的。 Reduce Reduce是一个将迭代变成一个东西的函数。...让我们看一个使用闭包的square函数的示例: 是不是很酷!我们可以只使用1个参数来调用需要2个参数的函数。 我们还可以使用一个循环来生成一个幂函数,该函数实现从立方体一直到1000的幂。

    1.1K21

    Linux入门学习笔记二

    (有无空格都可以),例如 –A2则表示打印符合要求的行以及下面两行 -B (before-context):后跟一个数字,例如 –B2 则表示打印符合要求的行以及上面两行 -C (context):后跟一个数字...但如果加上 -n 参数后,则只有经过sed 特殊处理的那一行(或者动作)才会被列出来 -f,–file=script-file 以选项中指定的script文件来处理输入的文本文件。...-V,–version打印版本和版权信息 -i 直接修改读取的档案内容,而不是由萤幕输出 动作说明: a :新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~ c...取代 sed -n '1,20s/old/new/g' test.txtsed '1,2c hi' test.txt ## 将第一二两行替换为hi 插入(目前的上一行) sed -i '$a bye...若匹配字符串是变量,则需要“”,而不是‘’。

    86910

    awk高级玩法

    将数字转换为字符串,通过数字连接空字符串即可 n =123 , 接着是: s = ““ n ,把值“123 ”赋给s 。 awk 功能强大的地方大多来自于它对正则表达式的支持。...awk 并没有提供字符串转数字的函数,不过awk 的做法很简单:只要加个零到字符串里,例如:s="123" ,接着是n=0+s ,便将数字123 赋值给n 了。...数组变量 awk 允许在数组名称之后,以方括号将任意数字或字符串表达式 括起来作为索引。...字符串大小写转换 tolower(string) 会返回将所有字母改为同义的小写的string 副本,而toupper(string) 则返回被改为大写字母的string 副本。...printf() 的运行方式也是这样,只不过它会在标准输出或重定向的文件上显示格式化后的字符串,而不是返回其函数值。较新的程序语言以更强大的格式化函数来取代格式控制字符串,但相对而言让代码变得很冗长。

    1.4K20
    领券