1. List 2. List.txt-List.xlsx2.1 添加软件ID[Sid]2.2 构造2维表格结构(包含第一列和第一行的字段的空表)2.3 获取具体信息(填充表格信息) 3. XLOOKUP3.1 语法及返回3.2 参数3.3 测试异常
List-To-Table
一维清单 转 二维表格
终端下的一些命令返回的数据不太友好,本身又不带格式化参数。 非常不方便查看,比对。下文使用表格软件解决其中一种情况。
- 一维清单 List.txt: 1708行, 2列。Get-AppxPackage输出导入表格的原始数据。
- 二维表格 Table.xlsx: 99行, 19列。转换后获得的最终数据。
注: 当前使用开源的 LibreOffice Calc 表格软件。
1. List
获取一份又臭又长的的一维列表...
> Get-AppxPackage > List.txt
统计所有信息行数,获得完整的List有1708行。
> Get-AppxPackage | find /c " :"
统计Name字段行数,List包含99个软件信息。
> Get-AppxPackage | find /c "Name :"
共99个软件的信息列表,每个软件有17~18个信息字段,共计1708行(已经排除了至少99个空行数)。
这样又臭又长的一维列表,看起来非常不方便。
若转换成二维表格,可以方便的排序,筛选。对比查看就会方便许多。
二维表格的结构,一行一个软件,包含19个列: 软件属性字段信息。
- 第1列: Sid, 软件ID(如上统计,共99行)
- 第1行: 软件属性字段信息(共19个列字段)
转换过程
- 构造2维表格结构 (包含第一列和第一行的字段的空表)
- 获取具体信息 (填充表格信息)
2. List.txt-List.xlsx
将以上获得的文本放到电子表格里。
结果只有2列: 分别命名为属性名称[Item], 属性信息[info]
手动添加自然顺序序号[sn] (1~1708),作用是确保后续作业不失序。
去掉空行,总共1708行。
当前List为3列:
- A列: [sn] 自然顺序的行号 (1~1708)
- B列: [Item] 属性名字段。
- C列: [Info] 属性对应的具体信息字段。
2.1 添加软件ID[Sid]
要转换为二维表格,需要将每个软件的17/18行增加一个相同的SID号,表示这17/18行表示的是同一个软件。
不同的SID号表示不同的软件。
这个过程有更好的办法的,还请不吝赐教。
- 给软件编号
- 新增一列[Sid-1] (l临时列)
- 通过[Item]属性名字段排序,向下找到[NAME],一共99行。
- 给这99行添加1~99的软件ID号。限定[NAME]的99行,别的行留空。
- 然后再通过前面添加的[sn]行号排序。回到初始排序状态。
- 这时候每个软件的第一个属性[Name]包含对应的软件ID号,其他属性字段[Sid-1]为空。
- 给软件的其他属性同步软件ID
- 再新增一列[Sid-2] (l临时列)
- 当前B列为[Sid-1], C列为[Sid-2]。B2就是第一个软件的ID号。
- [Sid2]的C2单元格添加公式 {=IF(B2,B2,C1)}
- [Sid2]的C2公式拖动到低,完成软件ID编号。
- 最后将填满软件id的[Sid-2]列复制为 无格式文本,列名为[Sid]。前面的[Sid-1]和[Sid-2]可以删除了。
补充:若是MS Office,上面的步骤(3.1~3.4)可以改成: 选择区域[Sid-1]→(Ctrl+G)打开定位对话框→定位到空值→依次按下等于号,向上的箭头→按下(Ctrl+Enter)即可完成填充。
当然,若有更好的办法还请不吝赐教。
当前List为5列:
- A列: [sn] 自然顺序的行号 (1~1708)
- B列: [Sid] 软件id号 (1~99)
- C列: [Item] 属性名字段。
- D列: [SidItem] 内容是前面2个字段的组合([Sid]+[Item])。可有可无的辅助列,后续其中一种Vlookup的方法需要这一列。
- E列: [Info] 属性对应的具体信息字段。
补充:{=ISODD(B2)}可以添加一列判断奇数/偶数, 排序后,将奇数或偶数统一上色,再sn回到初始顺序,方便查看。
2.2 构造2维表格结构(包含第一列和第一行的字段的空表)
- 第1列: [Sid], 软件id号(如上统计,共99行)
- 第1行: 具体的[Item]软件属性字段(共19个列字段)
方法1,数据透视表。(简单)
菜单栏\数据\数据透视表
- 行字段: B列: [Sid] 软件id号 (1~99)
- 列字段: C列: [Item] 属性名字段。
- 数据字段: E列: [Info] 属性对应的具体信息字段。
注:若来源列表的E列[Info]是纯数字,二维转换已经完成。
这里的[Info]是字符串和布尔值,所以我们只取建立好的表格结构,
以上行列,重新复制为纯文本作为行标题和列标题。
方法2,UNIQUE函数。(容易)
- 行: =UNIQUE($list99.B:B)
- 列: =TRANSPOSE(UNIQUE($list99.C:C))
2.3 获取具体信息(填充表格信息)
在B2单元格输入下方之一的公式,向右,向下拖动公式即可。
方法1,传统的VLOOKUP,需要用到D列[temp](辅助列)
- =IFERROR(VLOOKUP($A2&B$1,$list99.$D:$E,2,0),"")
方法2,使用XLOOKUP。填充内容的2种写法:
- =XLOOKUP($A2&B$1,$list.$B:$B&$list.$C:$C,$list.$E:$E)
- =XLOOKUP(1,($list.$B:$B=$A2)*($list.$C:$C=B$1), $list.$E:$E)
补充方法3,TRANSPOSE + FILTER
=TRANSPOSE(FILTER($C$2:$C$10,$A$2:$A$10=E2))
在F2单元格输入公式,并下拉公式。公式会自动往右填充。
注:需要第二列次级字段数量一致,顺序一致... 上面的例子就不适合了,软件包含17~18行信息.
- FILTER:根据条件筛选数组或单元格区域。
- TRANSPOSE:将数组或单元格区域的行和列互换。
3. XLOOKUP
LibreOffice的XLOOKUP帮助页面
https://help.libreoffice.org/25.8/en-US/text/scalc/01/func_xlookup.html?&DbPAR=SHARED&System=WIN
https://help.libreoffice.org/latest/hsb/text/scalc/01/func_xlookup.html?DbPAR=CALC
https://wiki.documentfoundation.org/Documentation/Calc_Functions/XLOOKUP
在数组中搜索一个值并返回对单元格或单元格范围的引用。
XLOOKUP 函数是VLOOKUP、HLOOKUP和LOOKUP等旧函数的现代且灵活的替代品。
XLOOKUP 支持近似匹配和精确匹配、通配符 (* ?) 或正则表达式进行部分匹配,以及垂直或水平范围的查找。
XLOOKUP 可以执行反向搜索,并在处理大型数据集时提供快速的二进制搜索选项。
3.1 语法及返回
XLOOKUP([Lookup] ; Array; Return [ ; [NotFound] [ ; [MatchType] [ ; SearchMode ] ])
XLOOKUP([查寻条件] ;搜索数组;返回数组[ ; [未找到] [ ; [匹配类型] [ ;搜索模式] ] ])
返回:
如果在Array中找到值Lookup的匹配项,则 XLOOKUP 返回对Return中单元格的引用,该单元格具有与Array中匹配项相同的相对位置。
如果没有找到匹配项,则返回值取决于NotFound参数。
3.2 参数
Lookup: (可选)要在Array中搜索的任意类型的值。如果省略,XLOOKUP 将返回在Array中找到的空白单元格。
搜索数组:要搜索的数组的引用。数组必须是一维数组,数组可以表示为:
- 使用范围运算符直接引用:C2:C8或B4:K4
- 带有常量的内联数组:{"Apple"; "Peach"; "Orange"; "Banana"}
- 带有标签的数据库范围的列:myData[Person]带有数据库范围 myData和数据库字段 Person
- 一维单元格数组的命名表达式或标签表达式,其结果为一维数组或对一维单元格数组的引用。
注:数组和返回的元素总数必须相同。
返回数组:是要返回的数组或范围的引用。同样是一维数组。返回值可以表示为:
- 使用范围运算符的直接引用
- 带有标签的数据库范围的列
- 一维单元格数组的命名表达式或标签
- 表达式,其结果是对一维单元格数组的引用。
注:如果结果数组是单元格范围,则必须将 XLOOKUP 函数作为数组公式输入。
未找到: (可选)可以是任意表达式。如果未找到与Lookup值匹配的项,则计算该表达式的值并返回结果。 如果未找到有效匹配项且省略了NotFound,则函数返回#N/A错误。
匹配模式:(可选)指定匹配类型。值可以是:
- 0:完全匹配(默认)。如果未找到搜索条件值,且省略了“未找到结果”文本,则返回 #N/A 错误。
- -1:尝试精确匹配。如果未找到搜索条件值,则返回下一个较小的项。
- 1:尝试精确匹配。如果未找到搜索条件值,则返回下一个较大的项目。
- 2:通配符匹配,其中字符 *(多个字符)、?(单个字符)和 ~ 具有特殊含义。
- 3:正则表达式匹配。
注:MatchType值2和3不得与二分搜索(SearchMode值2和-2)一起使用。
搜索模式:(可选)指定要使用的搜索模式。
- 1 :返回从搜索数组的第一项开始的第一次出现(默认)。
- -1 :反向搜索。返回从搜索数组的最后一项开始的第一个匹配项。
- 2:二分查找,要求搜索数组按升序排列。如果未排序,则返回无效结果。
- -2:二分查找,要求搜索数组按降序排列。如果未排序,则返回无效结果。
注:任何可选参数都可以省略。可选参数要求所有前面的分隔符都存在。
其他详细信息:
近似匹配和二分搜索所请求的排序使用“字母数字”排序规则。
默认情况下,查找不区分大小写,覆盖工具 ▸选项 ▸计算 ▸计算 ▸ (常规计算) 区分大小写。
您可以在正则表达式中使用模式修饰符来指定区分大小写的搜索。
3.3 测试异常
参照以上帮助页面下方的示例,完全相同的数据及公式,本机测试并没有返回数组...
=XLOOKUP(A3,A2:A4,A2:G4)
AtomicSN
例子里返回了A3这一行数组,这里只返回A3的内容...
=XLOOKUP(C1,B1:G1,B1:G4,"nnn")
#VALUE!
例子里返回了C1这一列数组,这里返回#VALUE!,类型异常。
补充参考链接:
https://support.microsoft.com/zh-cn/office/xlookup-函数-b7fd680e-6d10-43e6-84f9-88eae8bf5929
https://support.microsoft.com/en-us/office/formulas-and-functions-294d9486-b332-48ed-b489-abe7d0f9eda9
https://support.microsoft.com/zh-cn/office/公式和函数-294d9486-b332-48ed-b489-abe7d0f9eda9
https://www.youtube.com/watch?v=_BJrCPfamSc
VLOOKUP 功成身退!全新函數 XLOOKUP 霸氣取而代之!| Excel 教學 #34
sztom
osoft@qq.comCC-BY-NC-SA
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/922383.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!相关文章
linux 添加唤醒词
在RK3588 Ubuntu主板上实现FunASR离线语音唤醒系统
RK3588是一款性能强大的SoC,搭配FunASR可以很好地实现离线语音唤醒功能。以下是完整的实施方案:
1. 硬件准备
音频输入设备选择
由于您的主板针脚图未显示专用音频…
US$980 Xhorse VVDI2 BMW OBD + CAS4 +FEM/BDC Functions Full BMW License
Xhorse VVDI2 BMW OBD + CAS4 +FEM/BDC Functions Full BMW LicenseLicense Includes:VB-01 BMW OBDVB-02 BMW CAS4VB-03 BMW FEM/BDCIf you buy VVDI2 Basic or VVDI2 VAG and need to get VVDI2 BMW functions for B…
学网站开发可以创业吗聊天网站模板
MySQLMySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一YUM 安装mysql1、下载 YUM 仓库文件打开网址: https://dev.mysql.com/downloads/…
做电销有什么资料网站深圳宝安区是什么风险
首先,我们通过一张图片来了解一下Oracle数据库的内存结构,如下:每个数据库实例有两个关联的内存结构—系统全局区(SGA),程序全局区(PGA)。系统全局(SGA):一组共享的内存结构(称为SGA 组件),其中包含一个OracleDB 实例的…
建立自己的网站费用广告运营具体是做什么
案例:给"ls -l"命令,设置别名通过”ll“快速访问 1、在项目根目录底下查看有无.bash_profile文件,注意这个是个隐藏文件,需要使用ls -a命令查看: 没有.bash_profile新建一个文件, 在最后添加一行…
做软件外包的网站怎么查看小程序的开发公司
maven-antrun-plugin允许我们在各种maven构建阶段中运行ant目标。 我将专门为具有开发环境的开发人员解释maven-antrun-plugin的非常实际的用法。 通常,使用maven build,您会将项目捆绑到war文件或ear文件中。 您可以使用maven-antrun-plugin直接将此w…
【python】1.基础入门
官网安装可能会有下载较慢的问题
win安装记得勾选 “添加到path”终端运行pythonMAC注意:输入python3,否则不识别
写一行python代码并执行:python3回车后执行注:mac按control+D或者输入exit() -- 退出python代码运…
测速网站开发下沙网站建设
修改version https://developers.weixin.qq.com/miniprogram/dev/framework/plugin/using.html
深圳公司贷款天津网络优化招聘
QT学习笔记(一):VS2013 QT 5.8 运行、编译问题解决
jom: E:\C\4.QT\HelloWord\Makefile.Debug [debug\moc_predefs.h] Error 1 ‘cl’ 不是内部或外部命令,也不是可运行的程序 或批处理文件。 jom: E:\C\4.QT\HelloWord\Makefile…
山东省住房和城乡建设厅网站教育中心wordpress商城主题哪个好
文章目录 基本用法失效的多态数组就是数组使用限制作用于空class作用于引用基本用法
sizeof运算符用于查询对象或类型的大小。它在编译时计算,并返回以字节为单位的对象或类型的大小。
在某些情况下,我们需要知道对象的实际大小。例如,当我们分配内存或操作具有特定大小要…
中国营销网站启信聚客通网络营销策划
目录
一、朴素贝叶斯分类理论
1、贝叶斯分类理论
2、条件概率
3、全概率公式
4、贝叶斯推断
5、朴素贝叶斯推断
6、拉普拉斯平滑系数
二、决策树分类
1、相关概念
2、基于信息增益决策树的建立
3、基于基尼指数决策树的建立 一、朴素贝叶斯分类理论
1、贝叶斯分类理…
网站在正在建设中崇义县网站建设
JMS规范 一、JMS是什么二、MQ中间件对比三、JMS组成1.JMS Provider2.JMS Producer3.JMS Consumer4.JSM Message4.1 消息头4.2 消息体4.2.1 生产者4.2.2 消费者 4.3 消息属性 四、JMS可靠性1.PERSISTENT - 持久化1.1 参数设置1.2 Queue持久化1.3 Topic持久化1.3.1 持久的发布主题…
免费发布推广信息网站asp.net网站开发菜鸟
一.新建工程模板(基于固件库)
1.1库函数与寄存器的区别 这里的启动文件都是根据容量来进行区分的 对MDK而言即使include了,也不知道在哪里找头文件 STM32F10X_HD,USE_STDPERIPH_DRIVER
二.新建工程模板(基于寄存器)
上面的大部分配置与固件库的一样
具体可以看手…
广州响应式网站建设南京网站开发南京乐识权威
前言
上一篇:从领域驱动到模型驱动中我们讨论到,领域驱动设计的核心思想是保持业务-模型-代码的一致性,模型作为沟通业务和代码的工具,至关重要,今天这篇文章就来讨论DDD中建模的一些思考和方法。
什么是建模
虽然看…
天津网站建设公司推荐学电脑哪家好
性能优化是一个很有趣的探索方向,将耗时耗资源的查询优化下来也是一件很有成就感的事情,但既然编程是一种沟通手段,那每一个数据开发者就都有义务保证写出的代码逻辑清晰,具有很好的可读性。
目录
引子
小试牛刀
答案
引言
…
网站建设案例怎么样做淘宝客网站服务器
目录
1.网络编程
2.Echo模型(服务器与客户端实现通信)
3.BIO处理模型(实现多用户访问同个服务器)
4.UDP程序 1.网络编程
有两种通信模型
C/S(Client/Server)基于客户端和服务器端,实现代码时候需要实现客户端与服务器端
B/S(Browser/S…
大二学计算机系统基础
大二学计算机系统基础平台:IA-64 + linux + C + gcc在 linux 系统中:gdb
在 Macintosh OS 上:lldb编译器:以机器码为目标
操作系统:管理进程状态x86-64(又称 x64、AMD64)
x86 架构的 64 位扩展
指令集的 64位版…
目前哪些企业需要做网站建设的呢w7系统那个网站做的好
我相信命理,但我不相信在床脚钉四个铜钱就可以保证婚姻幸福、白首偕老。 我相信风水,但我不相信挂一个风铃、摆一个鱼缸就可以使人财运亨通、官禄无碍。 我相信人与环境中有一些神秘的对应关系,但我不相信一个人走路时先跨走左脚或右脚就可以…
阿里云模板建站教程网站的种类
常数 值 描述 vbCr Chr(13) 回车符。 vbCrLf Chr(13) & Chr(10) 回车符与换行符。 vbFormFeed Chr(12) 换页符;在 Microsoft Windows 中不适用。 vbLf Chr(10) 换行符。 vbNewLine Chr(13) & Chr(10) 或 Chr(10) 平台指定的新行字符;适用于…