エクセルセミナー研修のすごい改善~Excel社員研修と業務効率化

Excelセミナー毎週開催中。なぜか全国の企業から会社経営や業務システムの相談まで殺到する銀座の小さなExcel教室。

【Excel】COLUMN関数~指定したセルの列番号を返す


こんにちは。

すごい改善の吉田です。


指定したセルが今ワークシートの左端から、つまりA列から数えて何列目にあるのか、その数字を使って様々な便利なことができるようになります。


また、マクロを操る際にも非常に重要な役割を果たす関数なので、シンプルですがきちんと覚えて頂きたい関数です。


●COLUMN関数


=COLUMN([範囲])


とてもシンプルです。例えば、


=COLUMN(A1)


と入力したセルには、A1セルはワークシートの1列目にあたりますから、「1」の数値が返されます。


=COLUMN(B5)


と入力したセルには、B5セルはワークシートの2列目にあたりますから、「2」の数値が返されます。


また、


=COLUMN(A1:B5)


のように、引数に範囲指定を入力した場合は、その範囲の左上角のセルの行番号が返されます。上の例なら「1」ということになります。


しかし何よりも一番大事なのは、次の使い方です。


=COLUMN()


のように、括弧内の引数を省略した場合は、この式を入力したセルの列番号が返されます。


今いるセルは何列目にあるか。


以外と調べることが増えてくるものです。


そしてこの関数をVLOOKUP関数の第三引数にはめこむことでとんでもない手間が省けるテクニックもあるのです。


いいね!した人  |  リブログ(0)

【Excel】ROW関数~指定したセルの行番号を返す


こんにちは。

すごい改善の吉田です。


指定したセルが今何行目にあるのか、その数字を使って様々な便利なことができるようになります。


また、マクロを操る際にも非常に重要な役割を果たす関数なので、シンプルですがきちんと覚えて頂きたい関数です。


●ROW関数


=ROW([範囲])


とてもシンプルです。例えば、


=ROW(A1)


と入力したセルには、A1セルはワークシートの1行目にありますから、「1」の数値が返されます。


=ROW(B5)


と入力したセルには、B5セルはワークシートの5行目にありますから、「5」の数値が返されます。


また、


=ROW(A1:B5)


のように、引数に範囲指定を入力した場合は、その範囲の左上角のセルの行番号が返されます。上の例なら「1」ということになります。


しかし、このようにROW関数に引数を指定して書く使い方は少ないと思います。


ではどのような使い方がメインかというと、


=ROW()


のように、括弧内の引数を省略した場合は、この式を入力したセルの行番号が返されます。


この関数を入れたセルを列方向にドラッグコピーする連番を入力することができます。しかもこの連番は、途中行を削除したり入れ替えたりしても崩れません。


2行目にかけば「2」が返りますから、1から始まる連番を作りたければこれから1を引きます。


=ROW()-1


2行目のセルからこの式を入れたセルを列方向にドラッグコピーすると1から始まる崩れない連番が作れるのです。

いいね!した人  |  リブログ(0)

【Excel】CODE関数…文字のコードを調べる


こんにちは。
すごい改善の吉田です。


お客様先でこんなご相談がありました。再現してみますので、サンプルデータをご利用下さい。


1.こちらのデータをコピーして、エクセルシートのA1セルに貼って下さい。


ID,Number,,ID,Number
a,1,,,
b,2,,,
c,3,,,
d,4,,,
e,5,,,
f,6,,,
g,7,,,
h,8,,,
i,9,,,
j,10,,,
k,11,,,
l,12,,,


2.そのまま、「データ」タブから「データ区切り」をクリックします。


3.「元のデータの形式」が「カンマやタブなどの区切り文字によってフィールドごとに区切られたデータ」が選択されていることを確認し、「次へ」をクリック


4.「区切り文字」で「セミコロン」にチェックを入れ、「完了」をクリック


これで、上記のデータがエクセルで使えるようになったと思います。


できましたら、E2セルに次の関数を入力して下さい。


=VLOOKUP(D2,A:B,2,0)


これでA列にあるアルファベットをD2セルに入れれば、それぞれに対応しているB列の値がE2セルに返されるはずです。


試しに「a」を入力してみます。E2セルには「1」が返ります。

以下同様にb,c,d…と入力すると、順に「2,3,4…」と値が変わります。


ところが、E2セルに「l」(エル)を入力すると、「#N/A」というエラー値が出てしまいます。


これは、検索値である「l」がA列にない、ということを意味しています。


確かにA列には小文字のアルファベット「l」があるにも関わらず、です。


A列を指定してCtrl+Fの検索で小文字のLを検索すると、きちんと引っかかります。見間違いではなく確かに小文字のLはA列に存在しています。


ここで、E2に入力した「l」とA13セルの「l」は本当に同値なのかを確かめる必要があります。


二つの値が同値かどうかは、EXACT関数で確認することができます。


任意のセルに次の式を入れて下さい。


=EXACT(D2,A13)


EXACT関数は指定した二つの引数が同じであればTRUE、異なればFALSEを返します。


こちらのデータでは、「FALSE」が返ってきたはずです。つまり、見た目は変わらないのにこの二つの「l」は違うということのようです。


しかしこれでは何がどう違うのかわかりません。


ここで、それぞれの「l」の文字コードを調べてみます。

文字のコードを調べるにはCODE関数を使います。


任意の二つのセルに、それぞれ次の式を入れて下さい。


=CODE(A13)


=CODE(D2)


これら二つの式は、それぞれ「9068」、「108」と、お互いに異なる答えを返してきたはずです。

文字コードが異なるので、やはりこれら二つは異なる文字のようです。

しかし見た目が同じなので、何が違うのかがわかりません。


ここで、それぞれの文字コードから1を引いたコードにすると、その文字は何なのかエクセル上で調べてみましょう。


コードを指定して文字を出すにはCHAR関数を使います。さきほどのコードからそれぞれ1を引く、ということは
「9067」と「107」をコードとする文字を調べることになります。


任意の二つのセルに次の式を入れて下さい。


=CHAR(9067)


=CHAR(107)


すると、前者のセルには「k」、後者のセルには「k」が返りました。


よく見ると、全角と半角になっています。


これが、例えば「l」とか「i」だと、見た目にはほとんど全角も半角も同じなので判別はほぼ不可能です。

しかしCODE関数を使うとこのようにその文字の正体を明らかにしてエラーの原因を突き止めることが可能になるのです。


ROW関数やCOLUMN関数と同様、「値の取得」を行う情報関数の類は活用する場面がなかなか想定しづらいものもありますが、このような有用性があるという事例としてご紹介致しました。


いいね!した人  |  リブログ(0)