EXCEL, 用if({1,0,0} ...) 实现把给定的区域,输出为任意你想要的矩阵,数组区域!

目录

[1 原材料:这样的一个区域 + 工具 if({1,0,0}) 数组公式](#1 原材料:这样的一个区域 + 工具 if({1,0,0}) 数组公式)

[1.1 原始数据](#1.1 原始数据)

[1.2 原理 if(0/1,t-value,f-value)---变形--->if({},range1,range2)](#1.2 原理 if(0/1,t-value,f-value)---变形--->if({},range1,range2))

[1.2.1 if(0/1,t-value,f-value)---变形--->if({},range1,range2)](#1.2.1 if(0/1,t-value,f-value)---变形--->if({},range1,range2))

[1.2.2 原理1: if 数组原理,虽然if()只能判断1次输出1个结果,但是 if({}) 是if()+数组就可以进行多次判断,输出多个结果](#1.2.2 原理1: if 数组原理,虽然if()只能判断1次输出1个结果,但是 if({}) 是if()+数组就可以进行多次判断,输出多个结果)

[1.2.3 原理2,改变bool值映射结果到区域range上:truevalue和false-value 分别对应成区域,这样 if({},range1,range2) 实现区域range重组。](#1.2.3 原理2,改变bool值映射结果到区域range上:truevalue和false-value 分别对应成区域,这样 if({},range1,range2) 实现区域range重组。)

[1.2.4 原理3: {} 行列矩阵原理](#1.2.4 原理3: {} 行列矩阵原理)

[2 实现列调换次序 + 组合列](#2 实现列调换次序 + 组合列)

[3 行调换次序](#3 行调换次序)

[4 可以输出为3列,4列,更多列](#4 可以输出为3列,4列,更多列)

[5 if 嵌套,可以多次判断](#5 if 嵌套,可以多次判断)

[6 还可以指定行和列](#6 还可以指定行和列)


1 原材料:这样的一个区域 + 工具 if({1,0,0}) 数组公式

1.1 原始数据

1.2 原理 if(0/1,t-value,f-value)---变形--->if({},range1,range2)

1.2.1 if(0/1,t-value,f-value)---变形--->if({},range1,range2)

  • 核心就是,利用if函数+数组,让if多次判断,生成新得数组后输出到新得区域

1.2.2 原理1: if 数组原理,虽然if()只能判断1次输出1个结果,但是 if({}) 是if()+数组就可以进行多次判断,输出多个结果

  • if(0/1,t-value,f-value) 只能输出1个 t-value/f-value
  • 但是if({},range1,range2) 可以进行多次判断
  • 判断次数取决于{1,0...1} 里得元素个数,有几个就可以判断和输出几次
  • 先判断数组里得第1个元素,然后依次。。。。

1.2.3 原理2,改变bool值映射结果到区域range上:truevalue和false-value 分别对应成区域,这样 if({},range1,range2) 实现区域range重组。

  • 其实就是玩了一手转移
  • bool值得判断结果,无论0/1 都对应上了一个区域
  • 比如要套用 vlookup(if{1,0...}) 数组得第一个必须是1不能是0,是因为vlookup必须依据第1列查找,即使是重整后得区域

1.2.4 原理3: {} 行列矩阵原理

  • {} 里 ,分隔行,;分隔列
  • 这样 if可以把给定的一个区域/行/列,用数组形式展开铺开为任意的 矩阵形式!
  • 完整的行列形式{i11,i12,i13;i21,i22,i23; ....} 就妥妥的矩阵的味道了
  • 就是设计好几行几列,每行每列都可以指定位置为true对应的情况,其他都是false对应的情况

2 实现列调换次序 + 组合列

  • 写法是 if({1,0}) if({1,0,1,1}) 等等
  • 用逗号,分隔的都是列
  • 用分号;分隔的都是行
  • 还可以直接组合某些列& ,输出为1个新列

3 行调换次序

  • 也不需要是相邻行

4 可以输出为3列,4列,更多列

  • 虽然if只能有0/1这2元判断,但是数组{1,0,0,1} 数组理论上随便设几个区域都行
  • 数组{1,0,0,1} 决定了输出的列数,可以任意设,比如还可以输出为4个区域

5 if 嵌套,可以多次判断

  • 虽然if只能有0/1这2元判断,但是要判断多次呢?就可以进行多层if嵌套
  • 实现3列的打乱重新排序
  • 数组{1,0,0,1} 决定了输出的列数,可以任意设,比如还可以输出为4个区域

6 还可以指定行和列

  • 行和列组合的
  • 有点,矩阵的味道了,就是设计好几行几列,
  • 每行每列指定位置为true对应的情况,其他都是false对应的情况
  • 但是因为原数组是3*3, i4,4是无法取到数的,所以是na
相关推荐
致远ccc20 小时前
无人直播和真人直播有什么区别?如何用 DuoPlus 云手机搭建直播矩阵?
矩阵·无人直播·tiktok·云手机
张欣-男1 天前
5分钟理解线性代数v2
人工智能·线性代数·机器学习
张欣-男1 天前
3分钟理解线性代数
线性代数·算法
段一凡-华北理工大学1 天前
高炉智能布料技术与炉料分布优化~系列文章03:布料矩阵解码:环位、角度、圈数与料流的量化控制
java·网络·人工智能·矩阵·高炉智能化·高炉布料矩阵优化·高炉智能布料技术
智购无人售货机厂家2 天前
2026自动售货机软硬件版本管理策略:从版本号规范到兼容性矩阵的工程实践~YH
运维·服务器·人工智能·单片机·嵌入式硬件·线性代数·矩阵
龙泽金2 天前
矩阵论简介与工程应用
数学建模·矩阵·自动控制
独立开发之道3 天前
【three.js教程】Three.js 运行时更新:矩阵、几何体、材质怎么改才不卡
javascript·矩阵·材质
船厂电气自动化ai大模型3 天前
AI大模型与数学/第63课:矩阵定义、矩阵加法、标量乘法(逐级精讲)
数据结构·人工智能·深度学习·线性代数·算法
张宇Joaquin3 天前
鲲鹏统一并行加速库KUPL--异步数据拷贝
线性代数·算法·矩阵·numpy
独立开发之道3 天前
【three.js教程】Three.js 矩阵变换:position/quaternion/scale 和 matrix 到底怎么配合
开发语言·javascript·矩阵