エクセルの丸数字(①)などは、数値として扱われません。ですから、①をドラッグしても連番にすることはできません。そのためには、「UNICODE関数」と「UNICHAR関数」を利用するしかありません。
他のサイトを拝見すると、⑳までの連続入力はよくあるのですが、㊿までの連続入力は見たことがないので今回、その方法をご紹介します。
目次
文字のコード番号を取得する「UNICODE関数」
文字のコード番号を取得するには「UNICODE関数」を利用します。こちらはコード番号ですから連番になっています。
同じく「JISコード」を取得する「CODE関数」もありますが、「CODE関数」では㉑以降は「環境依存文字」として文字コードが「63」に固定されて連番になりません。
ちなみに「UNICODE関数」はExcel2013からの対応となっています。ですので今回の記事は「エクセル365・2019・2016・2013」対応となっています。
文字コードから文字を取り出す「UNICHAR関数」
この「①」の文字コードを「Unicode関数」で取り出し、それに+1をして連番としていきます。
UNICODE番号から、その番号に対応する文字を取得するためには「UNICHAR関数」を利用します。
A1セルに「①」を入力し、A2セルに「=UNICHAR(UNICODE(A1)+1)」と入力します。
「UNICODE(A1)」でA1セルのUNICODE番号を取得し、その番号に「+1」をすることによって連番のUNICODE番号から「UNICHAR関数」で文字を取得するという数式になります。
この後数式をドラッグすると、連番で丸数字が入力できるということになります。
ここまではまだ順調なのですが、⑳以降は複雑になります。
コメント
コメント一覧 (7件)
すみません、先程の通りすがりです。
先程のコメントは削除願います。欠陥が見つかりました。
通りすがり様
コメントありがとうございます。
承認する前でよかったです。
またコメント、お待ちしております。
長いですが、下記であれば一つ上の行に「空白を含む、丸数字以外ではないものがある」場合に機能してくれました。
ご参考までに。
IF(AND(OFFSET(INDIRECT(ADDRESS(ROW(),COLUMN())),-1,0)””,OFFSET(INDIRECT(ADDRESS(ROW(),COLUMN())),-1,0)0),
IF(OR(
AND(9312<=UNICODE(RIGHT(OFFSET(INDIRECT(ADDRESS(ROW(),COLUMN())),-1,0),1)),
UNICODE(RIGHT(OFFSET(INDIRECT(ADDRESS(ROW(),COLUMN())),-1,0),1))<=9331),
AND(12881<=UNICODE(RIGHT(OFFSET(INDIRECT(ADDRESS(ROW(),COLUMN())),-1,0),1)),
UNICODE(RIGHT(OFFSET(INDIRECT(ADDRESS(ROW(),COLUMN())),-1,0),1))<=12895),
AND(12977<=UNICODE(RIGHT(OFFSET(INDIRECT(ADDRESS(ROW(),COLUMN())),-1,0),1)),
UNICODE(RIGHT(OFFSET(INDIRECT(ADDRESS(ROW(),COLUMN())),-1,0),1))<=12990)
),
UNICHAR(UNICODE(RIGHT(OFFSET(INDIRECT(ADDRESS(ROW(),COLUMN())),-1,0),1))+1),UNICHAR(9312)),
"")
通りすがり様
コメントありがとうございます。
ただ今、お盆休み中にて動作確認できませんが、お盆明けに動作確認いたします。
ご指摘誠にありがとうございます。
ご対応有難うございます。
下記であれば、『丸番号以外(空白含む)』が居ても機能すると確認出来ました。
ご参考までに。
もしも欠陥があっても、御愛嬌とさせて頂ければ幸いです。
IF(AND(OFFSET(INDIRECT(ADDRESS(ROW(),COLUMN())),-1,0)””,OFFSET(INDIRECT(ADDRESS(ROW(),COLUMN())),-1,0)0),
IF(OR(
AND(9312<=UNICODE(RIGHT(OFFSET(INDIRECT(ADDRESS(ROW(),COLUMN())),-1,0),1)),
UNICODE(RIGHT(OFFSET(INDIRECT(ADDRESS(ROW(),COLUMN())),-1,0),1))<=9331),
AND(12881<=UNICODE(RIGHT(OFFSET(INDIRECT(ADDRESS(ROW(),COLUMN())),-1,0),1)),
UNICODE(RIGHT(OFFSET(INDIRECT(ADDRESS(ROW(),COLUMN())),-1,0),1))<=12895),
AND(12977<=UNICODE(RIGHT(OFFSET(INDIRECT(ADDRESS(ROW(),COLUMN())),-1,0),1)),
UNICODE(RIGHT(OFFSET(INDIRECT(ADDRESS(ROW(),COLUMN())),-1,0),1))<=12990)
),
UNICHAR(UNICODE(RIGHT(OFFSET(INDIRECT(ADDRESS(ROW(),COLUMN())),-1,0),1))+1),UNICHAR(9312)),
"")
IF(AND(OFFSET(INDIRECT(ADDRESS(ROW(),COLUMN())),-1,0)””,
『0)<>””』
の、半角記号で。
OFFSET(INDIRECT(ADDRESS(ROW(),COLUMN())),-1,0)0), も同様に
『0)<>0』
にてよろしくお願い致します。
通りすがり様
追加のコメントありがとうございます!
ぜひ試させていただきます。
今後ともよろしくお願い致します。