エクセルで丸数字を連番で ①から㊿まで連続入力する方法 「UNICODE関数」と「UNICHAR」関数と「IFS」関数で実現! 365・2019・2016・2013対応

目次

㉑以降は文字コードが飛ぶ

エクセルによる丸数字の連番は、他サイトを拝見しても⑳までの記事が多いです。

なぜなら⑳以降はUNICODE番号が連番ではなくなるからです。

そこで、㉑以降を連番で表示させるためには「IFS関数」で条件分岐をする必要があります。

「⑳」のUNICODE番号が「9331」に対し、「㉑」のUNICODE番号が「12881」となっています。ですから1つ上のセルのUNICODE番号が「9331」のときはその差である「3550」をプラスする必要があります。

具体的には、数式は下記のようになります。

「=UNICHAR(IFS(UNICODE(A20)=9331,UNICODE(A20)+3550,TRUE,UNICODE(A20)+1))」

1つ上のセルのUNICODE番号が「9331」のときだけは「+3550」で、それ以外のときは「+1」で丸数字の連番が可能になります。

㉑以降も連番が可能に

㊱以降もまたUNICODE番号が飛ぶ

次の関門は㊱以降です。また㊱からUNICODE番号が飛びます。

㉟のUNICODE番号が「12895」で、㊱のUNICODE番号が「12977」ですので、1つ上のセルの文字㉟が「12895」のときは」IFS関数」で「+82」としています。下記がその数式です。

=UNICHAR(IFS(UNICODE(A35)=9331,UNICODE(A35)+3550,UNICODE(A35)=12895,UNICODE(A35)+82,TRUE,UNICODE(A35)+1))

2つの条件分岐で完成

ですから、A2セルに「=UNICHAR(IFS(UNICODE(A1)=9331,UNICODE(A1)+3550,UNICODE(A1)=12895,UNICODE(A1)+82,TRUE,UNICODE(A1)+1))」と入力してドラッグすると、①~㊿までの連番がエクセルで表示することができます。

A2セルに完成した数式を入れると丸数字の連番が可能に

以下のように①から㊿までの丸数字での連番入力の完成です。

①から㊿までの連番が完成

ただ、このままではあまり実用的ではありません。

後日、VBAでMy関数(ユーザー定義関数)の作成方法をご紹介します。エクセルに標準では搭載されてない関数を自分で作成することによってエクセルの可能性は無限大に広がります。

また後日、「土日でマスター VBA講座」で解説いたします。

1 2

関連コンテンツ

よかったらシェアしてね!

コメント

コメント一覧 (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』
    にてよろしくお願い致します。

    • 通りすがり様
      追加のコメントありがとうございます!

      ぜひ試させていただきます。

      今後ともよろしくお願い致します。

コメントする

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

目次
閉じる