excel表格横向纵向变换_从Python到Excel

在Python的CommandLine中输入:

【四大基本运算】

a1=100

a2=3

print( a1+a2 )

print ( a1-a2)

print ( a1 * a2)

print ( a1 / a2 )

#上面是加减,乘除 ,此行不用输入

你可以想像成a1变量是单元格a1,

a2变量是单元格a2

print ( (a1+2)* 3 - a2/3 )

print ( a1%3 + 20 - (a2-90) )

#上面是混合运算,此行不用输入

优先级用小括号包起来。

【运算顺序】

Python遵循正确的数学规则

a1=1+2+3+4+5+6+7+8+9+10

a2=1*2*3*4*5

#编程中叫做赋值,Excel中可以直接在单元格中输入,注意前面加一个等于号

print (a1)

print (a2)

【操作符】

+-*/ 这些符号都是操作符,=是赋值操作符,操作符所操作的东西称为操作数。

print ( a1**2)

print ( a1%3 )

#上面是乘方与求余,此行不用输入

在Excel中求余数需要使用函数mod,

它的原型是mod( number, divisor),带两个参数;

乘方用^(输入方法是按shift + 数字6 )

【字符串处理】

a1 = "book"

a1[0:1]

a1[0:4]

a1[0:3]

a1[0:2]

#文本即字符串,标号从0开始,结束是长度减1;如上面的

# a1: 0-3

a1 = "book"

a2 = "bag"

a1 + a2

a2 + a1

#字符串连接

a1 + a2 + a1

a2 + a1 + a2

字符串连接符在Excel中是 & (按shift再按数字7)

当然也可以使用函数concatenate( text1,text2,text3,……)

【数据类型转换】

a1= 38.809

a2= int ( a1 )

a3= int(a1) + 80.5

# 你可以所a1,a2,a3三个变量看成三个单元格

小数用int()变换成一个整数,它是向下取整。

a1 = "123"

a2 = 123

type ( a1 )

type ( a2 )

a3= int (a1)

type( a3 )

#注意两种类型的不一样

使用type( ) 查看变量的数据类型

a1 = "123"

b1 = 123

c1= "book"

d1 = int( c1)

#通过系统的提示信息,说说出错的原因

a1 = "123456"

a2 = 123456

len( a1 )

len( a2 )

#通过系统的提示信息,说说出错的原因

【逻辑的判断】

计算机做决策时,不论是Python还是Excel都需要做出检查(完成一个测试),查看某个条件是否为真,在下面的例子中,这个条件就是“答案正确”。

  • 如果李四给出正确答案,就为他加1分;

  • 如果Tom击中外星人,就发出爆炸的声音;

  • 如果文件没有找到,就显示错误消息

f5a178c3ec6b9314f3b428e4b6eb283b.png

比如上面的火车要完成的测试方法很有限,而且每个测试只有两种可能答案:真(True)、假(False)

a1 = True

a2 = True

a1 and a2

a1 or a2

not a1

not a2

#理解逻辑测试结果

a1 = True

a2 = False

a1 and a2

a1 or a2

not a1

not a2

#理解逻辑测试结果,注意大小写不要打错了

a1 = False

a2 = False

a1 and a2

a1 or a2

not a1

not a2

#理解逻辑测试结果,注意大小写不要打错了

比较操作符更容易记:

小于()和不等于(!=)。

(还可以使用 <> 表示不等于,不过大多数人都用 !=。)还可以把 > 或 < 与 = 结合起来表示大于或等于(>=)以及小于或等于(<=)。数学课上你可能已经见过这样一些符号。

a1=90

a1>80

a1>100

b1=10

b1<12

b1<9

#请理解上面的结果

a1=8

a1 != 0

a1 != 8

a1 >=8

a1<=8

a1>=0

a1<=16

#请理解上面的结果

复杂的逻辑可以表示复杂的输出,如下图有3个测试条件

cacd28cc09360f743af9017e87d00285.png

为了得到“Got at least 5!”

请找出得到这个结果的路径。

Python的逻辑是纵向的,Excel的逻辑是横向的。

if answer >= 10:

 print "You got at least 10!"

elif answer >= 5:

 print "You got at least 5!"

elif answer >= 3:

 print "You got at least 3!"

else:

 print "You got less than 3."

#Python的条件语句构造

在Excel中,它的实现是通过函数if( condition, true_part, false_part)

6d63b1b4301a676fbc83f5914c5212c2.png

看上面某个同学手工制作表格:第一列为成绩数据,第二列为对应的成绩评定。

我们的操作方法:B列中单元格填充内容根据左侧A列中对应的单元格的实际值;

如A列的值大于等于60,填写“及格”,A列的值小于60,填写“不及格”。

手工制作这个表格无论在数据书写修改统计时都不太方便,我们可以使用Excel的强大功能来帮助我们。

流程图1

2fe2663006fd10269751819fb5bab07d.png

对应Excel函数书写

if( A1 >= 60 ,  "及格"  , "不及格"  )

#以B1单元格为例

流程图2

75987c1b6015c26c9ab59b7db221e0f4.png

对应Excel函数书写

if( A1 < 60 ,  "不及格"  , "及格"  )

#以B1单元格为例

上面的Excel如果支持Python,我们可以这样写

if A1 >= 60:

 B1="及格"

else:

 B1="不及格"

#1

if A1 < 60:

 B1="不及格"

else:

 B1="及格"

#2


如果把成绩分成三档:

0-59:不及格

60-79:合格

80-100:优秀

我们应该如何用Excel来完成条件构造,并填写数据呢?

d204aa1087ae116309518916f6dbc4ea.png

if( A1 >= 60 , if( A1 >= 80 , "优秀"  , "合格"  )  , "不及格"  )

#以B1单元格为例

书写if嵌套时,可以遵循一定的规律:

25d501f1d9ad16f3f3cb1c6f58cec19a.png

if( A1 >= 60 , 待定  , "不及格"  )

#以B1单元格为例

6f6c7ca36d601288f20423a2e5ddffc1.png

待定 = if( A1 >= 80 , "优秀" , "不及格"  )

0f3d27ba7927ed9f13f5939e97d67703.png

把上面1-2两项进行合并即可

if( A1 >= 60 , if( A1 >= 80 , "优秀"  , "合格"  )  , "不及格"  )

#蓝色为第二步的内容代入

上面的Excel如果支持Python,我们可以这样写

if A1 >= 60:

    if A1 >= 80:

        B1="优秀"

    else:

        B1="合格"

else:

    B1="不及格"

#二层嵌套

【考考你】

按下面的流程图表示(-1-,-2-,-3-)这三处应该填写什么内容?

相应的if函数如何写?

ee86e7bf3da04da4829ec542809ee5a8.png

BTW

对Excel学习有什么疑问,欢迎大家在下面留言呀!

我们会用图文方式进行解答!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值