一意の連続した名前の生成(Microsoft Excel)
スティーブンはいくつかのソフトウェアをテストしていて、彼はプログラムにたくさんの「偽の」名前を与える必要があります。彼は、Namezzzを介して、Nameaaa、Nameaab、Nameaacなどのこれらの名前をパターン化することを望んでいます。これには、17,576の名前(26 x 26 x 26)を作成する必要があります。彼は、Excelでこれらすべての名前を生成する簡単な方法があるかどうか疑問に思います。
この種の反復的なタスクは、マクロを求めて叫ぶだけです。 (手動で実行したくない退屈で退屈で反復的なタスクを実行するのに最適です。)リスト1は、必要なうなり声の作業を実行できる単純なマクロを示しています。
リスト1.CreateNamesマクロ。
Sub CreateNames() Dim i As Integer Dim x As Integer Dim y As Integer Dim z As Integer i = 1 For x = 97 To 122 For y = 97 To 122 For z = 97 To 122 Cells(i, 1) = "Name" & Chr(x) _ & Chr(y) & Chr(z) i = i + 1 Next Next Next End Sub
マクロは、3つの変数(x、y、およびz)を使用して、セルに詰め込まれた「名前」にアルファベットのどの文字を追加するかを制御する「カウンター」として機能します。 For … Nextループの範囲が97〜122であることに注意してください。これは、小文字のaからzのASCIIコードです。
何らかの理由でマクロを使用したくない場合は、空白のワークシートのセルA1に次の数式を入力します。
="Name" & CHAR((ROW()-1)/676+97)&CHAR(MOD( (ROW()-1)/26,26)+97)&CHAR(MOD(ROW()-1,26)+97)
これは単一の数式であり、「Nameaaa」が表示されます。
行17,576まで数式をコピーすると、偽の名前が表示されます。
注:
このページ(または_ExcelTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。
link:/ excelribbon-ExcelTipsMacros [ここをクリックして、新しいブラウザタブでその特別なページを開きます]
。
_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。
このヒント(12129)は、Microsoft Excel 2007、2010、2013、および2016に適用されます。
Excelの古いメニューインターフェイス用のこのヒントのバージョンは、次の場所にあります:
link:/ excel-Generating_Unique_Sequential_Names [Generating Unique、SequentialNames]
。