エクセルTIP#15 - 複数行のデータを一列に移す、簡単です!

アメイジングまいです。
Excelのヒントも今15回目ですね。^^
今日のヒントは、「複数行のデータを一列に移す」です。

もちろん「直接ドラッグ-選択してコピー!」する方法もあるが、
行の長さが長い〜て、その「終わり」を見つけるために時間がかかったり、10列、20行のデータをコピーする必要がある場合?
これは通常面倒なことではないでしょう。

ここいくつかの縦線(列)のデータを一列移す方法を紹介します。
簡単な操作ではなく、明らかに楽な方法である。^^

例では、上記になります。行に10個ずつ、合計5行のデータがあります。
この50個のデータを一つの縦線で移動しようとします。
だから、はじめ読む前に、関数をいくつか説明します。

 

 

二つの式があるが、ここでは= INDEX(範囲、A、B)と呼ばれる数式を使用します。
範囲で上からA番目の行(水平線)、左からB列目(縦線)の値を取得する関数です。
簡単に言うと、上記のAの、左からBの値を取得する関数とすることができます。

たとえば、上の図をみましょう。
上の図で= INDEX(D5:H14、1、1)という式が見えるでしょう。
D5:H14という範囲の上から1番目、左から1番目の値を取得します。したがって答えは21になります。

式:= ROW(セルのアドレス)機能:そのセルの行番号(上から何番目の行にあることを)を取得します。例えば、= ROW(A4)といえば、A4サイズの上から4行目にあるので、値は4が出てきます。つまりA1、B2、...式でセルのアドレスを表現するときは、後ろの数字部分を表しているとすることができます。


[MOD関数]式:= MOD(A、B)機能:AをBで割った残りを取得します。【QUOTIENT関数]式:= QUOTIENT(A、B)機能:AをBで割った分け前を求めます。たとえば、= MOD(38、9)をすると、残りの人2が出て、= QUOTIENT(38、9)をすると分け前4が出てきます。ここで重要なのヒント!式に関数を入れ子にするときは、一番左の=記号が抜けます。

さて、今から考えてみましょう。
問題を解決するために、データを集める縦縞の各セルにどのセルの値を取得する必要かどうかを考えてみましょう。
上部セルの場合には、範囲の左端の、最も上のセルをインポートします。上記の2番目のセルには?範囲の最も左、上から2番目!上から3番目のセルには、?範囲の最も左、上から3番目!...上記の10番目のセルには、?範囲の最も左、上から10番目!上記の11番目のセルには、?行が変わっね!範囲の左から2番目、一番上!同様に上記の12番目は?左から2番目、上から2番目!...このように行くと、ルールがあろう。左から1、1、1、...、1(1が10個)、2、2、...、2(2は10個)、3、...のですが、上記の1、2、3 、...、10、1、2、3、...、10、1、2、...のと、そのルール!このルールを見つけるたら、半分は成功です。

各セルには、INDEX関数を使用して値を見つけることです。
もしそうなら、式は= INDEX(範囲、A、B)がされて上からA番目、左からBのセルの値を求めるようになります。
さて、AとBを適当に設定してべきでしょう?この時ROW関数が答えています。(セルをコピーすると、それに合わせてセル参照も移動します。例えば、セルA1に「= A3」を入力し、この式をA2、A3、A4セルにコピーする場合は、A2、A3、A4セルの数式は、それぞれ「= A4」、「= A5」、「= A6」になります。)

まず、上記のAの!のAを設定しましょう。
Aのルールは、1、2、3、4、...、10が繰り返されるのです。
このとき、ROW(A1)= 1であり、この式を他のセルにコピーすると、そのセルに数式のA1は、A2、A3、...などに変わり、したがってROW関数の値は、2、3、...などに変わっでしょう?1、2、3、...、10が繰り返されるのは、残りの部分を利用すればすることができます。したがってMOD関数を利用してみましょう!ROW(A1) の値は、最初のセルから 1、2、3、...、9、10、11、12、...になるから、ROW(A1)-1の値は、最初のセルから0、1、 2、...、8、9、10、11、...となります。したがってMOD(ROW(A1)-1、10)の値は、0、1、2、...、8、9、0、1、... となります。そして、ここで1を加えて、

MOD(ROW(A1)-1、10)+ 1の値は、1、2、3、...、9、10、1、2、3、...になるでしょう?したがってAを式で表すと MOD(ROW(A1)-1、10)+ 1になります。

同様にB(左からBの!)の部分の規則は、1が10個、2が10個、...です。この時のような方法で、残りの代わりに分け前を利用します。
ROW(A1)-1の値は、最初のセルから0、1、2、...、9、10、11です。したがってQUOTIENT(ROW(A1)-1、10)の値は、最初のセルから0が10個、1が10個...こんな式です。ここで、1を加えてQUOTIENT(ROW(A1)-1、10)+ 1の値は、最初のセルから1が10個、2が10個、...このようなです。したがってBを式で表すと QUOTIENT(ROW(A1)-1、10)+1です。

 

 

したがって最終的な式は、上記になります。:範囲の数の横に$を付けた理由は、範囲を固定するためです。数字の前に$をつけるの列では、範囲が固定されます。:上記Aの!Aを式で表すと MOD(ROW(A1)-1、10)+1です。③ :左からBの!Bの式は、QUOTIENT(ROW(A1)-1、10)+1です。
ここで、10の部分は?まさに一列にデータがいくつかを示すものです。
データが100個の場合、10の代わりに100を入れてMOD(ROW(A1)-1、100)+ 1のようにします。

最後に、最初にセルを選択し、そのセルの右下の部分をクリックした後、下にずっと〜ドラッグします。
上の図で1番の部分と2回の部分が1行に合わせました!
全体のデータの数だけドラッグしていただければ良いでしょう?
式に残さずただ値に変えたい場合は、データが集まった縦線の範囲を全体選択し、コピー▶右▶「貼り付けのオプション」から「123」があるアイコンをクリックします。ありがとうございます。今後もより有益な情報をお伺いしました。(各行のデータ数が異なる場合に解決方法は、次のにお知らせする予定です。)

댓글

Designed by JB FACTORY