LoginSignup
1
4

More than 3 years have passed since last update.

VBAユーザがPython・Rを使ってみた:基本的な算術演算

Last updated at Posted at 2021-01-11

はじめに

機械学習の勉強を始めたVBAユーザです。
備忘録としてPython・Rの文法をVBAと比較しながらまとめていきたいと思います。

目次

基本的な算術演算

四則演算

まず、四則演算(加算・減算・乗算・除算)です。四則演算の演算子 +, -, *, / はどの言語でも共通です。

Python

Python3
print( 1 + 2 )   # 加算
print( 3 - 4 )   # 減算
print( 5 * 6 )   # 乗算
print( 7 / 8 )   # 除算

Python2では、除数(割る数)と被除数(割られる数)が整数の場合に/で除算すると切り捨て除算となります。

R

R
print( 1 + 2 )   # 加算
print( 3 - 4 )   # 減算
print( 5 * 6 )   # 乗算
print( 7 / 8 )   # 除算

VBA

VBA
Debug.Print 1 + 2   ' 加算
Debug.Print 3 - 4   ' 減算
Debug.Print 5 * 6   ' 乗算
Debug.Print 7 / 8   ' 除算

べき乗と整数の割り算

次に、べき乗(累乗)、整数の除算(商(整数商)と剰余(余り))の計算です。言語によって演算子が違います。

Python

Python3
print( 2 ** 3 )   # べき乗
print( 5 // 3 )   # 整数商
print( 5 % 3 )    # 剰余
print( divmod(5, 3) ) # 整数商と剰余

Pythonのdivmod関数はtupleを返します。divmod(5, 3)の結果はtuple(1, 2)となります。

R

R
print( 2 ^ 3 )   # べき乗
print( 5 %/% 3 ) # 整数商
print( 5 %% 3 )  # 剰余

VBA

VBA
Debug.Print 2 ^ 3   ' べき乗
Debug.Print 5 \ 3   ' 整数商
Debug.Print 5 Mod 3 ' 剰余
Debug.Print Int(5 / 3) ' 整数商(Int関数で整数部分を取得)

VBAの整数商の計算「5 \ 3」のバックスラッシュ「\」は半角円マークです。

符号反転と絶対値

最後に、符号反転と絶対値の計算です。

Python

Python3
print( -2 )       # 符号反転
print( abs(-2) )  # 絶対値

R

R
print( -2 )      # 符号反転
print( abs(-2) ) # 絶対値

VBA

VBA
Debug.Print -2      ' 符号反転
Debug.Print Abs(-1) ' 絶対値

まとめ

一覧

各言語で使用する演算子・関数等を一覧にまとめます。比較のために、EXCELでの計算も示しました。

演算 Python R VBA EXCEL 結果
加算 $1+2$ 1 + 2 1 + 2 1 + 2 =1+2 3
減算 $3-4$ 3 - 4 3 - 4 3 - 4 =3-4 -1
乗算 $5*6$ 5 * 6 5 * 6 5 * 6 =5*6 30
除算 $7/8$ 7 / 8 7 / 8 7 / 8 =7/8 0.875
べき乗 $2^3$ 2 ** 3 2 ^ 3 2 ^ 3 =2^3 8
整数商 $5/3$ 5 // 3 5 %/% 3 5 ¥ 3 =QUOTIENT(5,3) 1
剰余 $5/3$ 5 % 3 5 %% 3 5 Mod 3 =MOD(5,3) 2
divmod(5, 3) (1, 2)
符号反転 $-2$ -2 -2 -2 =-2 -2
絶対値 $|-2|$ abs(-2) abs(-2) Abs(-2) =ABS(-2) 2

VBAの「¥」は円マーク(全角の円マークを入れていますが、実際には半角の円マークです。)。

プログラム全体

参考までに使ったプログラムの全体を示します。

Python

Python3
# 四則演算
print( 1 + 2 )   # 加算
print( 3 - 4 )   # 減算
print( 5 * 6 )   # 乗算
print( 7 / 8 )   # 除算

# べき乗と整数の割り算
print( 2 ** 3 )  # べき乗
print( 5 // 3 )  # 整数商
print( 5 % 3 )   # 剰余
print( divmod(5, 3) ) # 整数商と剰余

# 符号反転と絶対値
print( -2 )      # 符号反転
print( abs(-2) ) # 絶対値

R

R
# 四則演算
print( 1 + 2 )   # 加算
print( 3 - 4 )   # 減算
print( 5 * 6 )   # 乗算
print( 7 / 8 )   # 除算

# べき乗と整数の割り算
print( 2 ^ 3 )   # べき乗
print( 5 %/% 3 ) # 整数商
print( 5 %% 3 )  # 剰余

# 符号反転と絶対値
print( -2 )      # 符号反転
print( abs(-2) ) # 絶対値

VBA

VBA
Sub test()

' 四則演算
Debug.Print 1 + 2   ' 加算
Debug.Print 3 - 4   ' 減算
Debug.Print 5 * 6   ' 乗算
Debug.Print 7 / 8   ' 除算

' べき乗と整数の割り算
Debug.Print 2 ^ 3   ' べき乗
Debug.Print 5 \ 3   ' 整数商
Debug.Print 5 Mod 3 ' 剰余
Debug.Print Int(5 / 3) ' 整数商(Int関数で整数部分を取得)

' 符号反転と絶対値
Debug.Print -2      ' 符号反転
Debug.Print Abs(-1) ' 絶対値

End Sub

VBAの整数商の計算「5 \ 3」のバックスラッシュ「\」は半角円マークです。

参考

1
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
4