威尼斯网址开户网站Excel随机函数有什么用?

兼容性非常强的两个函数

//跨浏览器获取样式

Reference:七周数据分析师-excel

在Excel里,有两个随机函数,一个是rand,一个是randbetween,其中rand函数用来生成0-1之间的随机小数,而randbetween函数用来生成随机整数,至于是哪个范围内的随机整数,要看参数规定的数据范围。下面我就介绍下我对于随机函数的几个用法。

1. SUMIF()

说兼容性,当然得说SUMIF了。

来,我们先举个例子。

现有一个表格,算起来只有”科目划分”、”发生额”两列内容,但是折成了很多列。

我们需要统计”邮寄费”的总发生额。

威尼斯网址开户网站 1

 

这可怎么办呀,总不能手动整成两列吧?

这时候,SUMIF的兼容性就显现出来了。

还是像往常一样。

 

我们使用SUMIF,将”科目划分”为”邮寄费”的”发生额”挑选出来。

 

威尼斯网址开户网站 2

 

首先输入=SUMIF,按下Tab键选择SUMIF函数,点击Fx打开函数参数对话窗,填写我们的参数

 

Range与往常不一样,这一次,我们选中包含了”科目划分”的区域,像这样

 

威尼斯网址开户网站 3

 

Criteria仍然填你的筛选条件,这里我们需要”科目划分”为”邮寄费”,所以填上”邮寄费”。

 

Sum_Range也不需要像以前一样选择那么多,这次只用告诉SUMIF函数你需要”发生额”的总数就可以了,所以这里Sum_Range填“发生额”所在的第一个单元格($B$1)就可以了(千万别填成D1或者”发生额”了,这样是错误、无效的)

 

 

function getStyle(obj,attr){

excel-百度经验-黄小新

1、数据抽样

2.AVERAGEIF()

 

看了上面的SUMIF函数的使用方法,我们不禁试想,COUNTIF是否也有这种兼容性?

 

那么就用同样的表格试试吧?!

 

 

威尼斯网址开户网站 4

 

 

果然,这样也是可以实现的!

 

    if(obj.currentStyle){  

excel中的绝对引用和相对引用

假如你是从事HR工作的,单位有几百人,你想要从这些员工当中,随机抽取50人做调查。怎么样才能做到随机抽取呢?首先,先调出员工花名册,复制到一个空白的Excel里,按照昨天介绍的方法先做一个序号,做为ID,然后在空白列,输入随机函数=rand(),然后回车,向下填充公式。

1. 或许朋友还想提一下COUNTIF()

但是COUNTIF不太一样,他没有Sum_Range,它仅仅是计算该文本出现了几次。

当然,毫无疑问,在多列里它也是可以用的

 

威尼斯网址开户网站 5

 

 

        return  obj.currentStyle[attr];

A.清洗处理类

威尼斯网址开户网站 6

总结

 

还有很多函数都具有强大的兼容性,就等待着你我去探索!

     }else{

主要是文本、格式以及脏数据的清洗和转换。很多数据并不是直接拿来就能用的,需要经过数据分析人员的清理。数据越多,这个步骤花费的时间越长。

随机顺序生成以后,要选择随机顺序生成的数据区域,复制,然后粘贴为数值,因为这个函数生成的数据是随机的,按一下F9,就是自动刷新,所以要把数据粘贴为数值。接下来,以随机顺序为关键字,进行排序,提取前五十名就行了。

        return getComputedStyle(obj,false)[attr]; 

(1)Trim                                      
  
百度经验:excel-trim的用法

威尼斯网址开户网站 7

    }

清除掉字符串两边的空格。

这里还有一个小技巧,你在对数据进行排序的时候,一定先编序号,如果想反悔,可以按照序号重新排序,就2可以恢复原来的表格了。

//根据类名获取元素

MySQL有同名函数,Python有近似函数strip。

2、另类用法

function getElesByClassName(className) {

(2)Concatenate                          
  
百度经验:excel-concatenate

假如你家里有上小学的学生,数学老师肯定会让家长出题的。这个事情,用Excel很快就能搞定。这次该randbetween函数上场了。当然,rand函数也可以,但是需要嵌套一下公式。在Excel里
输入函数公式,需要三个要素,第一是等号,就是告诉Excel,我要输入公式了,第二是函数名,函数公式嘛,当然要有函数的名字,第三是括号,这三个要素是缺一不可的,缺少了,也没啥事儿,不是不能反悔正确的结果,就是Excel会告诉你,你搞错了。randbetween函数需要两个参数,第一个参数是返回的最小整数,第二个参数就是返回的最大整数,是不是很简单?

    if (document.getElementsByClassName) {

=Concatenate(单元格1,单元格2……)

威尼斯网址开户网站 8

    //高级浏览器

合并单元格中的内容,还有另一种合并方式是& 。”我”&”很”&”帅” =
我很帅。当需要合并的内容过多时,concatenate的效率快也优雅。

3、可以用来制作抽奖器。

        return document.getElementsByClassName(className);

MySQL有近似函数concat。

结合随机函数的这个特性,我们可以制作抽奖器。首先,复制参与抽奖的人员名单,放在任意一列,在任意空白单元格输入公式:=INDIRECT(“C”&INT(RANDBETWEEN(1,33))),这里说明一下,我模拟的数据是在C列,所以引用区域是C列,人员个数是33,随机函数的取值范围就是1-33,这个要根据实际情况变化。点击插入选项卡,找到形状命令下的文本框按钮,插入一个文本框,再点击文本框边缘,在选中文本框的状态下,在编辑栏输入等号,再用鼠标点击刚才输入公式的单元格,链接起来,这样这个白底的文本框就作为我们展现获奖人员姓名
的一个窗口,剩下的,就是按下F9刷新就行啦。

    } else {

(3)Replace                                    
 
百度经验: excel-replace

威尼斯网址开户网站 9

        //低版本浏览器

=Replace(指定字符串,哪个位置开始替换,替换几个字符,替换成什么)

        //获取所有的标签元素

威尼斯网址开户网站 ,替换掉单元格的字符串,清洗使用较多。

        var aTab = document.getElementsByTagName(‘*’);

MySQL中有同名函数,Python中有同名函数。

        // 类名为box1的标签元素

(4)Substitute                                    
百度经验:substitute

        var arr = [];

和replace接近,区别是替换为全局替换,没有起始位置的概念

        for (var i = 0;i < aTab.length;i++) {

(5)Left/Right/Mid                        
 百度经验:excel-left

            // ‘box1 box3 box4’ == box1 ?

=Mid(指定字符串,开始位置,截取长度)

            // 分割字符串 –> 数组

截取字符串中的字符。Left/Right(指定字符串,截取长度)。left为从左,right为从右,mid如上文示意。

            var arr1 = aTab[i].className.split(‘ ‘);

MySQL中有同名函数。

            // 判断arr1里面有没有box1,如果有,就添加到arr里面

(6)Len/Lenb                                      

            if (isFindInArr(arr1,className)) {

返回字符串的长度,在len中,中文计算为一个,在lenb中,中文计算为两个。

                arr.push(aTab[i]);

MySQL中有同名函数,Python中有同名函数。**

            }

(7)Find                                                   
百度经验:
 excel-find

        }

=Find(要查找字符,指定字符串,第几个字符)

        return arr;

查找某字符串出现的位置,可以指定为第几次出现,与Left/Right/Mid结合能完成简单的文本提取

    }

MySQL中有近似函数 find_in_setPython中有同名函数。**

}

(8)Search                                              
百度经验:excel-search

//ajax兼容性写法(兼容IE6)

和Find类似,区别是Search大小写不敏感,但支持*通配符

function oAjax(json){

(9)Text                                                  
 
百度经验:excel-text

    //url,data,type,successFn,errFn

将数值转化为指定的文本格式,可以和时间序列函数一起看

    if(!json.url){


    return;

关联匹配类

}

在进行多表关联或者行列比对时用到的函数,越复杂的表用得越多。多说一句,良好的表习惯可以减少这类函数的使用。

var type=json.type || ‘get’;

(1)Lookup                                              
百度经验:excel-lookup

var data=json.data || {};

=Lookup(查找的值,值所在的位置,返回相应位置的值)

function json2url(data){

最被忽略的函数,功能性和Vlookup一样,但是引申有数组匹配和二分法。

    var arr=[];

(2)Vlookup                                            
 百度经验:excel-vlookup

    //添加缓存因子

=Vlookup(查找的值,哪里找,找哪个位置的值,是否精准匹配)

    data.t=Math.random();

Excel第一大难关,因为涉及的逻辑对新手较复杂,通俗的理解是查找到某个值然后黏贴过来。

    for(var name in json){

(3)Index                                                    
百度经验:excel-index

        arr.push(name+’=’+data[name])

=Index(查找的区域,区域内第几行,区域内第几列)

    }

和Match组合,媲美Vlookup,但是功能更强大。

    return arr.join(‘&’);

(4)Match                                                
 
 百度经验:excel-match

}

=Match(查找指定的值,查找所在区域,查找方式的参数)

if(window.XMLHttpREquest){

和Lookup类似,但是可以按照指定方式查找,比如大于、小于或等于。返回值所在的位置。

    var oAjax=new XMLHttpREquest();

(5)Row                                                    
百度经验:excel-row

}else{

返回单元格所在的行

    var oAjax=ActiveXObject(‘Microsoft.XMLHTTP’);

(6)Column

}

返回单元格所在的列

switch(type.toLowerCase){

(7)Offset                                                    
 
 百度经验:excel-offset

    case ‘get’:

=Offset(指定点,偏移多少行,偏移多少列,返回多少行,返回多少列)

    //建立连接

建立坐标系,以坐标系为原点,返回距离原点的值或者区域。正数代表向下或向右,负数则相反。

    oAjax.open(‘GET’,json.url+’?’+json2url(data),true);


    //发送请求

逻辑运算类

    oAjax.send();

数据分析中不得不用到逻辑运算,逻辑运算返回的均是布尔类型,True和False。很多复杂的数据分析会牵扯到较多的逻辑运算

    break;

(1)IF                                                              
 
 
百度经验: excel-if

    case ‘post’:

经典的如果但是,在后期的Python中,也会经常用到,当然会有许多更优雅的写法。也有ifs用法,取代if(and())的写法。

    //建立连接

MySQL中有同名函数,Python中有同名函数。

    oAjax.open(‘POST’,json.url,true);

(2)And                                                           
 
 百度经验:excel-and

    //附加

全部参数为True,则返回True,经常用于多条件判断。

   
oAjax.setRequestHeader(‘Content-Type’:’application/x-www-form-urlencoded’)

MySQL中有同名函数,Python中有同名函数。

    //发送

(3)Or                                                              
 
 
百度经验:excel-or

    oAjax.send(json2url(data))

只要参数有一个True,则返回Ture,经常用于多条件判断。

    break;

MySQL中有同名函数,Python中有同名函数。

}

(4)IS系列                                                         
 
 百度经验:excel-is系列

oAjax.onreadystatechange=function(){

常用判断检验,返回的都是布尔数值True和False。常用ISERR,ISERROR,ISNA,ISTEXT,可以和IF嵌套使用。

    if(oAjax.readyState==4){


        if(oAjax.status>=200 && oAjax.status<300
||oAjax.status==304){

计算统计类

            json.success && json.success(oAjax.responseText);

常用的基础计算、分析、统计函数,以描述性统计为准。具体含义在后续的统计章节再展开。

        }else{

(1)Sum/Sumif/Sumifs                              

            json.error && json.error(oAjax.status)

百度经验:excel-sumif 
   
 excel-sum 
 excel-sumifs

        }

统计满足条件的单元格总和,SQL有中同名函数。

    }

MySQL中有同名函数,Python中有同名函数。

}

(2)Sumproduct                    
 百度经验:excel-sumproduct

}

统计总和相关,如果有两列数据销量和单价,现在要求卖出增加,用sumproduct是最方便的。

MySQL中有同名函数。

(3)Count/Countif/Countifs  
百度经验:excel-countif 
       
 excel-count

统计满足条件的字符串个数

MySQL中有同名函数,Python中有同名函数。**

(4)Max                              
百度经验:excel-max

返回数组或引用区域的最大值

MySQL中有同名函数,Python中有同名函数。**

(5)Min                                百度经验:

返回数组或引用区域的最小值

MySQL中有同名函数,Python中有同名函数。**

(6)Rank                          
 百度经验:excel-rank

排序,返回指定值在引用区域的排名,重复值同一排名。

SQL中有近似函数row_number() 。

(7)Rand/Randbetween  
 百度经验:excel-rand 
 
  excel-randbetween

常用随机抽样,前者返回0~1之间的随机值,后者可以指定范围。

MySQL中有同名函数。

(8)Averagea                        
百度经验:excel-average和averagea区别

求平均值,也有Averageaif,Averageaifs

MySQL中有同名函数,python有近似函数mean。

区别average函数和averagea函数,averagea函数的作用是求数值的算术平均值,功能与average相同,计算规则上有少许不同。

(9)Quartile

=Quartile(指定区域,分位参数)

计算四分位数,比如1~100的数字中,25分位就是按从小到大排列,在25%位置的数字,即25。参数0代表最小值,参数4代表最大值,1~3对应25、50(中位数)、75分位

(10)Stdev                                     
百度经验:excel-stdev

求标准差,统计型函数,后续数据分析再讲到

(11)Substotal                                
百度经验:excel-subtotal
                    

=Substotal(引用区域,参数)

汇总型函数,将平均值、计数、最大最小、相乘、标准差、求和、方差等参数化,换言之,只要会了这个函数,上面的都可以抛弃掉了。

(12)Int/Round

取整函数,int向下取整,round按小数位取数。

round(3.1415,2) =3.14 ;

round(3.1415,1)=3.1


时间序列类

专门用于处理时间格式以及转换,时间序列在金融、财务等数据分析中占有较大比重。时机序列的处理函数比我列举了还要复杂,比如时区、分片、复杂计算等。这里只做一个简单概述。

(1)Year                            
百度经验:excel-year,month,day

返回日期中的年

MySQL中有同名函数。

(2)Month

返回日期中的月

MySQL中有同名函数。

(3)Weekday                                                      
  
百度经验:excel-weekday

=Weekday(指定时间,参数)

返回指定时间为一周中的第几天,参数为1代表从星期日开始算作第一天,参数为2代表从星期一开始算作第一天(中西方差异)。我们中国用2为参数即可。

MySQL中有同名函数。

(4)Weeknum

=Weeknum(指定时间,参数)

返回一年中的第几个星期,后面的参数类同weekday,意思是从周日算还是周一。

MySQL中有近似函数 week。

(5)Day

返回日期中的日(第几号)

MySQL中有同名函数。

(6)Date                                                            
  
百度经验:excel_date

=Date(年,月,日)

时间转换函数,等于将year(),month(),day()合并

MySQL中有近似函数date_format。

(7)Now                                                
 
百度经验:excel_now

返回当前时间戳,动态函数

MySQL中有同名函数。

(8)Today

返回今天的日期,动态函数

MySQL中有同名函数。

(9)Datedif                          
 百度经验:excel–datedif

=Datedif(开始日期,结束日期,参数)

日期计算函数,计算两日期的差。参数决定返回的是年还是月等。

MySQL中有近似函数DateDiff。

相关文章