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

Excel公式技巧14: 主工作表中汇总多个工作表中满足条件

我们可能熟悉使用INDEX、SMALL等在给定单列或单行数组的情况下,返回满足一个或多个条件的列表。这是一项标准的公式技术。...可以很容易地验证,该公式中的单个条件可以扩展到多个条件,因此,我们现在有了从一维数组和二维数组中生成单列列表的方法。 那么,可以更进一步吗?...本文提供了一种方法,在给定一个或多个相同布局的工作表的情况下,可以创建另一个“主”工作表,该工作表仅由满足特定条件的所有工作表中的数据组成。并且,这里不使用VBA,仅使用公式。...TRANSPOSE({3,2,1}) 得到: {3;2;1} 因此,MMULT函数变为: MMULT({1,0,0;1,1,0;1,1,1},{3;2;1}) 结果是: {3;5;6} 使用Arry1的替换主公式中的相应部分...,以及要求Sheet3返回,该参数将被“重置”为1。

9K21

面试算法,绝对排序数组中快速查找满足条件的元素配对

它可以升序排列,可以降序排列,也可以像我们以前章节说过的,以波浪形方式排序,现在我们要看到的一种是绝对排序。对于数组A,绝对排序满足以下条件:|A[i]| < |A[j]|,只要i < j。...对于这个题目,我们曾经讨论过当数组元素全是整数的情况,要找到满足条件的配对(i,j),我们让i从0开始,然后计算m = k - A[i],接着(i+1, n)这部分元素中,使用折半查找,看看有没有元素正好等于...m,如果在(i+1,n)中存在下标j,满足A[j] == m 那么我们就可以直接返回配对(i,j),这种做法在数组元素全是正数,全是负数,以及是绝对排序时都成立,只是绝对排序的数组中,进行二分查找...因此查找满足条件的元素配对时,我们先看看前两种情况是否能查找到满足条件的元素,如果不行,那么我们再依据第三种情况去查找,无论是否存在满足条件的元素配对,我们算法的时间复杂度都是O(n)。..." and " + this.sortedArray[this.indexJ]); } } } 类FindPairInAbsoluteSortedArray用于绝对排序的数组中查找满足条件的元素配对

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

    Day07 生信马拉松-数据整理中的R

    x2 str_replace(x2,"o","A") #每个元素里面只替换第一次出现的目标字符 str_replace_all(x2,"o","A") #替换元素中所有目标字符 1.6 字符删除 x...str_remove(x," ") #只删除第一次出现的目标字符 str_remove_all(x," ") #删除全部目标字符 2.玩转data.frame--dplyr包 2.1 arrange,...3.1 if(){ } 3.1.1 只有if没有else,那么条件是FALSE就什么都不做 i = -1 if (i<0) print('up') #if()只能有一个逻辑 if (i>0) print...ID的方法 ## (1)分步解法 a = colnames(y) b = x$file_name k = match(a,b);k # match(a,b)的意思是a里的每个元素b的第几个位置上。...pattern = ".R$") #列出工作目录下以.R结尾的文件 file.create("douhua.txt") #用代码创建文件 file.exists("douhua.txt") #某文件工作目录下是否存在

    23600

    生信入门马拉松之R语言基础-脚本项目管理、条件循环、表达矩阵和一丢丢数据挖掘(Day 7)

    复习R包stringr字符串操作的几个函数-长度、拆分、提取、字符检测、替换和删除。...2.3 if条件语句控制代码运行elseif(F){}啥都不敢if(F){}elese{}#运行else后的{}中的代码2.4 ifelse函数只有3个参数ifelse(x,yes,no)x:逻辑或逻辑向量...yes:逻辑T返回的no,逻辑F返回的ifelse函数和str_detect()函数连用,王炸炸炸!!!...2.7 for循环对x里的每个元素进行同一操作for(i in x){CODE}#x是向量;i是代称,i自动等于某个循环里的x元素for( i in 1:4){ print(i)}#for循环跑4次,i第一次循环是...表达矩阵中,寻找不同组有表达差异的基因。

    17600

    生信技能树- R语言-day7

    #如果向量里的一个数据有两个o,只替换第一个str_replace_all(x2,"o","A") #如果向量里的一个数据有两个o,都替换str_replace_all(x2,"o|e","A") #...duplicated(mm)] 提取没有重复的第一次出现的mutate,数据框新增一列mutate(test, new = Sepal.Length * Sepal.Width) new是新产生的列名新加之后...select(iris,-5)),50))管道符号传递,简洁明了iris %>%select(-5) %>%as.matrix() %>%head(50) %>%pheatmap::pheatmap()玩转条件和循环条件...else2, ifelse(,,ifelse)ifelse里加一个ifelse补充 case_when练习题1.加载deg.Rdata,根据a、b两列的,按照以下条件生成向量x:load("deg.Rdata...(1)分步解法a = colnames(y)b = x$file_namek = match(a,b);k#match(a,b)的意思是a里的每个元素b的第几个位置上。

    9700

    R07-R语言的综合应用

    ,x2中的o替换为A(有重复的只替换了第一个)str_replace_all(x2,"o","A") # 5.字符串替换,x2中的o全部替换为Astr_remove(x," ") # 6.字符删除...(只删除了第一个空格)str_remove_all(x," ") # 6.字符删除(删除全部空格)2.玩转数据框(dplyr)#arrange,数据框按照某一列排序arrange(test, Sepal.Length...、条件语句if(一个逻辑){ } 如果()中的条件T成立,{}中的函数被运行,如果F不成立,则不执行if条件语句:如果...就...否则...if(一个逻辑){ CODE1} else{...CODE2}重点:ifelse函数ifelse(x,yes,no)x:逻辑或逻辑向量yes:逻辑为TRUE的返回no:逻辑为FASLE的返回多个条件ifelse(i>0,"+",ifelse...:4中的每个元素进行循环输出批量画图par(mfrow = c(2,2))for(i in 1:4){ plot(iris,i,col = iris,5)}批量装包pks = c("tidyr","dplyr

    7010

    R语言学习笔记-Day6

    T或F)1.5 字符的替换str_replace(x2,"o","A")只会对第一次出现的"o"替换成"A"#改进:str_replace_all(x2,"o","A")对所有的"o"替换成"A"1.6...字符删除str_remove(x,"o")只会对第一次出现的"o"进行删除#改进:str_remove_all(x,"o")对所有的"o"进行删除1.7 补充y = c("jimmy 150","nicker...TRUE,则执行code1,反之执行code2多个条件仍适用if(){code1}else if(){code2}else{code3}3.2 ifelse函数仅有三个参数ifelse(x,yes,no...)#x:逻辑或逻辑向量#yes:逻辑为T的返回#no:逻辑为F的返回i = 1ifelse(i>0,"+","-")1 "+"多个条件仍适用ifelse(i>0,"+",ifelse(i...i)}1 11 21 31 4e.g.2par(mfrow = c(2,2))for(i in 1:4){plot(iris,i,col = iris,5)}批量装包pks = c("tidyr","dplyr

    17100

    从零开始的异世界生信学习 R语言部分 06 R应用专题

    (x2,"o","A") ##" "中只替换一个函数 str_replace_all(x2,"o","A") ##替换所有 图片 6. str_remove 字符串替换 ### 6.字符删除 x str_remove...( ) 排序 test <- iris[c(1:2,51:52,101:102),] rownames(test) =NULL # 去掉行名,NULL是“什么都没有” test 图片 library(dplyr...test, desc(Sepal.Length)) #从大到小 排序 图片 图片 2.distinct()去重复 distinct(test,Species,.keep_all = T) ##某一个数据第一次出现视为不重复...1. if 条件语句 ###1.if(){ } 如果...就... #### (1)只有if没有else,那么条件是FALSE就什么都不做 i = -1 if (i<0) print('up'...第二个写的数据框),左表中多余的数据舍去 full_join(test1,test2,by="name") ##取全集 semi_join(test1,test2,by="name") ##半连接,对左边表格取右边表格住存在的子集

    2.5K30

    2023.4生信马拉松day7-R语言综合应用

    -(2)用多次嵌套避免中间变量不直观,且容易出错; ——设置彩虹括号,可以多层嵌套看清楚哪个括号和哪个括号是一对: options -- code -- display --use rainbow...),不可以是多个逻辑组成的向量; -(2)当逻辑为TRUE执行大括号内的代码,如果为FALSE就不执行; -(3)如果要执行的代码只有一行可以不加大于号; -(4)实例:安装R包的满分操作——根据一个包是否已安装来决定要不要安装这个包...-(3)yes:逻辑为TRUE的返回 -(4)no:逻辑为FALSE的返回 -(5)支持单个的逻辑,也支持多个逻辑组成的向量 -(6)相当于对向量的每个元素逐个进行判断,然后对判断结果...str_detect()可以检测样本中是不是含有某个字符,然后返回逻辑,ifelse()对逻辑T/F进行替换 samples = c("tumor1","tumor2","tumor3","normal1...,就再进行一步判断; 练习7-2 # 1.加载deg.Rdata,根据a、b两列的,按照以下条件生成向量x: #a< -1 且b<0.05,则x对应的为down; #a>1 且b<0.05,则x对应的

    3.6K80

    Learn R 专题1-3

    0.2 setosa distinct(),数据框按照某一列去重复 > distinct(test,Species,.keep_all = T) #按照species这一列去重复,只保留第一次出现的...图片 图片 一.条件语句 1.if(){ } #### (1)只有if没有else,那么条件是FALSE就什么都不做 > i = -1 > if (i<0) print('up') [1] "up"...; yes:逻辑为T的返回; no:逻辑为F的返回 i = 1 ifelse(i>0,"+","-") > ifelse(i>0,"+","-") [1] "+" > x = rnorm...按照以下条件生成向量x: #a< -1 且b<0.05,则x对应的为down; #a>1 且b<0.05,则x对应的为up; #其他情况,x对应的为no #统计up、down、no各重复了多少次...与其他人以及每次登录)都 一样 exp = matrix(rnorm(18),ncol = 6) #18个随机数分布六列里形成矩阵 exp = round(exp,2) #round() 取小数点后

    1.5K00

    UseGalaxy.cn生信云|零代码使用Tiverse优雅地处理数据集

    TIDYVERSE Dplyr Arrange rows Dplyr Count the observations Dplyr Distinct keep unique rows Dplyr Join...two tables Dplyr Join with one varibale Dplyr Mutate create, modify, and delete columns Dplyr Rename...Dplyr Select keep or drop columns select 函数用于选择数据框中的特定列,可以保留感兴趣的变量,并且能够根据列名、位置或条件表达式进行灵活的变量选择操作。...Dplyr Filter keep rows that match a condition filter 函数用于根据条件筛选数据行,能够仅保留满足条件的观测,支持根据指定的条件表达式对数据框进行灵活的行筛选操作...Tidyr Pivot Longer from wide pivot_longer 函数用于将宽格式数据转换为长格式数据,能够根据用户指定的列将数据框中的多个列整理成一对 “名-” 对,便于进一步的分析和处理

    16720

    R语言基础5(绘图基础)

    #https://mp.weixin.qq.com/s/p7LLLvzR5LPgHhuRGhYQBQ 拼图 图片 图片 可以STHA网站找到现成的代码。...,可用于向量取子集; str_ends(x,"h")##是否以h结束,生成与X长度相等的逻辑向量,可用于向量取子集; str_replace(x,"o","a")#将x中的o替换为a,只替换出现的第一个...o; str_replace(x,"o|s","a")#将x中的o或者s替换为a,只替换出现的第一个o; str_replace_all(x,"o","a")#将x中的o替换为a,替换所有的o; str_remove...包,快捷键ctrl+shift+M 条件或循环 rm(list = ls()) ## 一.条件语句 ###1.if(){ } #### (1)只有if没有else,那么条件是FALSE就什么都不做...; yes:逻辑为TRUE的返回 no:逻辑为FALSE的返回 x = rnorm(3) x ifelse(x>0,"+","-") #ifelse()+str_detect(),王炸

    34871

    十二、R语言的综合应用

    图片 #### (1)只有if没有else,那么条件是FALSE就什么都不做 i = -1 if (i<0) print('up') ###输出结果为up if (i>0) print('up...require(tidyr)) install.packages('tidyr') #### (2)有else if返回的逻辑是true,执行if的函数结果,返回的逻辑是false,执行的是...print("-") } i = 1 ifelse(i>0,"+","-") ## [1] "+" x = rnorm(3) x ifelse(x>0,"+","-") ## 返回的结果是TRUE替换成第二个位置的...“+”,返回的结果是FALSE替换成第三个位置的“-” #ifelse()+str_detect(),王炸 ifelse(T,"A","B") ifelse(F,"A","B") ifelse(c...按照以下条件生成向量x: # a< -1 且b<0.05,则x对应的为down; # a>1 且b<0.05,则x对应的为up; # 其他情况,x对应的为no # 统计up、down、no各重复了多少次

    3.1K30

    数据分析:假设检验方法汇总及R代码实现

    三、数据是否为配对数据的考量数据的配对性也是选择假设检验方法需要考虑的因素之一。配对数据指的是两组数据之间存在一一对应关系的数据,如同一样本不同时间或不同条件下的测量值。...这种检验的前提条件是两组数据都是正态分布的,并且具有相同的方差(方差齐性)。满足正态性和方差齐性的条件下,我们计算了两组数据的均值和标准差,然后计算T统计量。...为了确保分析的有效性,需要满足以下假设条件设计的任何区块(block)中都没有显著的异常值。异常值可能会对分析结果产生重大影响,因此需要识别并妥善处理。...为了确保分析结果的有效性和可靠性,必须满足以下基本假设条件:数据服从正态分布。正态性假设意味着每个组的观测应近似地遵循正态分布的钟形曲线。...这种检验特别适用于以下情况:当数据不满足单向重复测量ANOVA检验所需的正态性条件,或者当因变量是在有序量表上进行测量。它允许研究者评估多个相关样本之间的差异,而不受数据分布形态的限制。

    62710

    R语言基础笔记-04(字符串、数据框、条件与循环)

    str_replace(x2,"o","A")#一个字符中出现两次只替换第一次出现 ## [1] "The" "birch" "canAe" "slid" "An" ##...setosa ## 3 versicolor ## 4 versicolor ## 5 virginica ## 6 virginica 1.排序:arrange,数据框按照某一列排序 library(dplyr...条件 (1)if(){ } if()里面是一个逻辑,不能是多个 #只有if没有else,那么条件是FALSE就什么都不做:if (i<0) print('up') #有else: i =1 if...T的返回 no:逻辑为F的返回 ifelse(i>0,"+","-") ## [1] "+" #ifelse()+str_detect(),王炸,用于分组 samples = c("tumor1...rnorm里面的数字,第一轮循环等于1,后等于5、7、3 a = list() for (i in 1:4) {#已经让i动起来了(1、2、3、4) a[[i]] = rnorm(x[[i]])#循环里取子集

    85130

    生信学习小组day6--大姚

    CRAN/")) ##镜像的网址不一定要用清华源 options(BioC_mirror="https://mirrors.ustc.edu.cn/bioc/") install.packages("dplyr...") library(dplyr) 示例数据采用内置数据集iris的简化版 test <- iris[c(1:2,51:52,101:102),] 二、dplyr五个基础函数 1.mutate(),新增列...Species == "setosa" filter(test, Species == "setosa"&Sepal.Length > 5 )##第一行代码的基础上增加一个筛选条件,要同时满足这两个筛选条件...",只要满足其中一个筛选条件就能被筛选 4.arrange(),按某1列或某几列对整个表格进行排序 从小到大排序: arrange(test, Sepal.Length) 从大到小排序: arrange...test %>% group_by(Species) %>% summarise(mean(Sepal.Length), sd(Sepal.Length)) 2:count统计某列的unique

    81100

    R 数据整理(七:使用tidyr和dplyr处理数据框 2.0)

    数据集如果用于统计与绘图,需要满足一定的格式要求,(Wickham, 2014) 称之为 整洁数据 (tidy data),基本要求是每行一个观测,每列一个变量,每个单元格恰好有一个数据。...这些变量应该是真正的属性,而不是同一属性不同年、月等时间的分别放到单独的列。...,这些条件是需要同时满足的,另外,条件中取 缺失的观测自动放弃,这一点与直接在数据框的行下标中用逻辑下标有所不同,逻辑下标中有缺失会在结果中 产生缺失。...dplyr 包的 distinct() 函数可以对数据框指定若干变 量,然后筛选出所有不同,每组不同仅保留一行。... dplyr 包的 rename() 中用 “新名字 = 旧名字” 格式修改变量名,如: d2.class % dplyr::rename(h=height, w=weight

    10.9K30
    领券