Search This Blog

2017/11/26

REPT函数、10种可视化图表!

使用REPT函数来做单元格里的条形图,也可以叫数据条。

1、REPT函数原理介绍
REPT 应是单词 repeat(重复)的缩写,它对指定的字符重复指定的次数,返回一个字符串。例,公式:=REPT("★",5) 结果:★★★★★

2、单元格里的数据条
如果:=REPT("|",50)
现在得到50条稀疏的小竖线。如果给单元格设置playbill 字体,就得到了无缝隙的单元格里的数据条!
公式:=REPT("|",C6/MAX($C$6:$C$10)*200)
即根据指标数值大小按比例折算重复的次数,最大的数值重复200次(可自定)。然后设置为playbill 字体,8磅,灰色。
把这个方法简记为【REPT("|",n)+playbill】,方便记忆和运用。

3、倾斜字体的数据条
设置字体为倾斜,刀片一样的数据条,锋利,很有个性!

4、使用斜杠的数据条
不使用小竖线,而使用斜杠符号 / 。

5、单元格里的柱形图
单元格格式里设置文本的方向为 90 度

6、单元格里的漏斗图
单元格文本除了字体设置,还可以设置对齐方向。把这些单元格里的文本设置居中对齐,就得到了一个漏斗图。

7、单元格里的蝴蝶图
蝴蝶图是一种左右对比的条形图,使用 REPT 函数分别作出两列数据条,然后分别设置右对齐和左对齐。
例:
左侧:=C6&" " & REPT("|",C6/MAX($C$6:$D$13)*50),右对齐
右侧:=REPT("|",D6/MAX($C$6:$D$13)*50) & " "&D6,左对齐

8、单元格里的甘特图
项目管理里的甘特图,也可以用 REPT("|",n) 方法来做,因为它也是单元格里的条形图。
公式:=REPT(" ",(C6-MIN($C$6:$C$14))*$H$7) & REPT("|",1.5*(D6-C6+1)*$H$7)
前半截重复空格占位,重复次数为该行的开始日期-整个项目的最小开始日期。后半截重复小竖线绘制甘特图,重复次数为工期数*1.5。
为什么要乘1.5?因为在Arial 字体、8磅大小下,一个空格的宽度(大约)是小竖线“|”的1.5倍,因此我们重复小竖线的时候就放大1.5倍。
这里H7是一个调节系数,我用来控制进度图的长度合适。

9、单元格里的瀑布图
瀑布图是麦肯锡公司发明,用来反映从一个数据到另一个数据的变化过程。
REPT 出这样的瀑布图,要准备1列辅助的占位数据。公式:
=REPT(" ",G6*$C$19)&REPT("|",ABS(C6)*$C$19*1.5)
其中,小竖线的重复次数也要放大1.5倍,也要设置 Arial 字体、8磅大小。
由于指标数量级可能很大也可能很小,需要使用一个系数来折算出合理的重复次数,这里是C19。

10、单元格里的圆点百分比图

公式:=REPT("●",B6*100)
设置单元格自动换行,调整列宽,使每行刚好能容纳10个黑点。

2017/10/31

Set up laravel Homestead by vagrant

Prepare installation: VirtualBox 5.1; Vagrant; composer

$ vagrant box add laravel/homestead

$ cd ~

$ cd Homestead
$ git checkout v6.5.0

Init homestead
// Mac / Linux...
$ bash init.sh
// Windows...
$ init.bat

Modify file "Homestead.yaml"
folders:
    - map: /the/path/in/pc
      to: /home/vagrant/code

$ ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
$ eval "$(ssh-agent -s)"
$ ssh-add -k ~/.ssh/id_rsa

$ cd /the/path/in/pc
$ composer create-project laravel/laravel projectName

Init and set up vagrant
$ vagrant up

Stop vagrant
$ vagrant halt

Connect to vagrant env
$ vagrant ssh

Restart vagrant
$ vagrant reload

2017/10/25

Install pip by python

CentOS:
yum -y install wget
wget https://bootstrap.pypa.io/get-pip.py
python get-pip.py

Mac: Restart MySQL by command line


Apache:
sudo rm /Applications/XAMPP/xamppfiles/bin/mysql.server
sudo ln -s /Applications/XAMPP/xamppfiles/share/mysql/mysql.server /Applications/XAMPP/xamppfiles/bin/mysql.server 

2017/10/24

PHP: set timezone and date format

Use date_timezone_set to set 2017/10/24 00:00:00 in timezone Asia/Tokyo.
$date = '2017-10-24';
$timezone = 'Asia/Tokyo';
$tokyoTime = date_timezone_set(new DateTime($date), new DateTimeZone($timezone));
echo $tokyoTime;

If $date is null, $tokyoTime will be the time of right now in Tokyo.
Set $tokyoTime to null when $date is null.
$tokyoTime = empty($date) ? '' : date_timezone_set(new DateTime($date), new DateTimeZone($timezone));

Set format
$tokyoTime = empty($date) ? '' : date_format(date_timezone_set(new DateTime($date), new DateTimeZone($timezone)), 'Ymd H:i');