Excelシート上で使える、複数の関数を組み合わせた特殊な使い方を説明。
今回は ROW、MOD、ROUND を組み合わせることで、
単純な連続ではない連続データの作り方を紹介。
【本記事の目標】
ROW、MOD、ROUNDを使って
少し特殊な連続データを作ろう
今回組み合わせる関数は下記でも説明していますので、ご参考ください。
今回作りたい連続データについて
単純な連続データの作り方については、下記投稿でも説明しています。
ただ上記で説明している連続データは、決まった法則で値が増えていくだけで、
いくつかの数値を繰り返したり、
一定の個数だけ同じ数値を表示し続けながら連続していく
といった少し特殊な動きを作ることができません。
そこで今回は、そのような少し特殊な動きをする連続データの作り方を紹介していきたいと思います。
特に工場系・実験系の業務の際に使う可能性が高い連続データかと思います。
一定間隔で繰り返す連続データ
まずは下記図のような
連続した値が周期的に繰り返される連続データ
の作り方を解説します。
使用する関数
この連続データを作るために必要な関数は
MOD関数
ROW関数
の2つです。
このように周期的な数値を作る場合、MOD関数(割り算の余り)を活用するのが効果的です。
割り算の余りは、割られる数(割り算の右側の値)より大きくなることは絶対に無いため、割る数(割り算の左側の値)が連続した値になっていたら、割られる数より小さい値で繰り返されることになります。
実際の計算式
実際に上記の図の計算式を書くと、下記のようになります。
=MOD(ROW()-1,4)+1
この式をより一般的に変換すると、
=MOD(ROW()-(連続データの開始行数),(繰り返したい数))+1
になります。
■連続データの開始行数
周期的な連続データを書こうとしている最初の行数です。
上記の図のように1行目から書き始める場合は「1」、
10行目から書き始める場合は「10」を入力します。
■繰り返したい数
周期的に繰り返したい数です。
上記の図のように1~4を周期的に繰り返したい場合は「4」、
1~10を周期的に繰り返したい場合は「10」を入力します。
一定個数同じ数値を表示し続けながら連続する連続データ
次に下記図のような
同じ数が一定数並びながら数値が連続していく連続データ
の作り方を解説します。
使用する関数
この連続データを作るために必要な関数は
ROUNDDOWN関数
ROW関数
の2つです。
このように一定区間同じ数値が連続するデータを作る場合、ROUNDDOWN関数を活用するのが効果的です。
ROUNDDOWN関数を使って割り算の商を得るようにすれば、割られる数(割り算の右側の値)を定数にしておき、割る数(割り算の左側の値)が連続した値になっていたら、割り切れる値になったときだけ数値が1つ大きくなり、それ以外は1つ前の値と同じ状態で繰り返されることになります。
実際の計算式
実際に上記の図の計算式を書くと、下記のようになります。
=ROUNDDOWN((ROW()-1)/4,0)+1
この式をより一般的に変換すると、
=ROUNDDOWN((ROW()-(連続データの開始行数))/(繰り返したい数),0)+1
になります。
■連続データの開始行数
周期的な連続データを書こうとしている最初の行数です。
上記の図のように1行目から書き始める場合は「1」、
10行目から書き始める場合は「10」を入力します。
■繰り返したい数
同じ数値を連続させたい数です。
上記の図のように1を4回表示させたい場合は「4」、
1を10回表示させたい場合は「10」を入力します。
さらなる組み合わせ
今回紹介した連続データをさらに組み合わせることで、下記図のような商品製造におけるロットコードのような数値を作り出すこともできます。
上記の図は下記関数でできています。
=(ROUNDDOWN((ROW()-1)/4,0)+1)&”-“&(MOD(ROW()-1,4)+1)
単純に上記の2つの連続データを1つの関数で表現しただけですが、
それだけでこのような特殊な連続データを簡単に作ることができます。
連続した値が周期的に繰り返される連続データ(MOD関数・ROW関数)については、単純に周期的なデータを表示する以外にも活用方法があります。
その1つがデータの間引きができる、という点です
例えば、特に分析機器のデータに多いと思いますが、詳細な測定を行った際、そのデータは数万個のデータになることもよくあります。
そのデータをそのまま細かく確認が必要な場面もあるかと思いますが、そのままだとデータが重すぎて取り扱いに苦労するため、ある程度データを間引いてしまう必要がある場面もあるかと思います。
そのような場合に、そのデータの隣に周期的なデータを作り、
オートフィルターを使って周期的なデータのいくつかを行ごと一気に削除してしまうことで、簡単にデータ数を1/2、1/3、1/4と圧縮していくことができます。
下記図はそのイメージ図になります。
コメント