COLUMN(1:1)の意味を教えてください
こんにちは。
OSはWindowsXP、Excelは2003を使用している者です。
電話番号からハイフンをとりたいのですが、電話番号の末尾についたハイフンだけは取りたくないのです。末尾のハイフンはいくつつくかわかりません。
関数でそれを実現したいと思っています。
例えば、ExcelのA1セルに
03-1234-5678---
という電話番号があるとします。
関数の結果としては、
0312345678---
という結果を返してほしいのです。
そこで、ネットでいろいろ調べて以下の関数を作るに至りました。
=SUBSTITUTE(A1,"-","")&RIGHT(A1,MATCH("*"&RIGHT(SUBSTITUTE(A1,"-",""),1)&"*",INDEX(RIGHT(A15,COLUMN(1:1)),),0)-1)
03-1234-5678---のハイフンを一度全部取り(前半のSUBSTITUTE(A1,"-","")部分)、その後一番右側にあるハイフンと合体させています。
実は、前半のSUBSTITUTE(A1,"-","")部分以外は全く自分ではわからず、似た様な関数が掲載されていたネット部分を修正して作りました。
よって、どうしても意味不明な箇所があります。
COLUMN(1:1)はどういう意味なのでしょうか?
1~256の配列を返しているという風に言っている人がいましたが、それの意味が理解できません。
また、上の例で言うとRIGHT(A1,COLUMN(1:1))の部分では「8」を返すようなのですが、どうしてでしょうか。
COLUMN(1:1)=1になるみたいなのでRIGHT(A1,1)としてみるとエラーになってしまいます。
なぜCOLUMN(1:1)だとうまくいくのに、1だとダメなのでしょうか。
そもそも、COLUMN(1:1)というのはどういうことなのでしょうか。
大変お手数ですが、どうしてもわかりません。
どなたかお詳しい方、教えていただけますでしょうか。
よろしくお願いいたします。
お礼
ありがとうございます。大変参考になりました。