• ベストアンサー

エクセルの関数やマクロで

A列に以下のように入力したいのですが。 aa ab ac ad ae af 上記のようにアルファベット順で入力して、azまでいったら、今度はbaからbzでまで入力します。そのような感じでzzまで入力していきたいのですが。 この入力作業を、関数やマクロで行なうことは可能でしょうか? おわかりになる方がいましたら教えて下さい。

  • syons
  • お礼率52% (9/17)

質問者が選んだベストアンサー

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.3

A1からA676まで以下の式をコピー =CHAR(CODE("a")+INT((ROW()-1)/26))&CHAR(CODE("a")+MOD(ROW()-1,26))

syons
質問者

お礼

ありがとうございました。

その他の回答 (2)

  • anmochi
  • ベストアンサー率65% (1332/2045)
回答No.2

最も(泥臭くて)簡単なVBAで行うとしたらこんな感じ。 VBAを開いて(ALT+F11)、貼り付けたいシートオブジェクト内に貼り付けてそこにカーソルを合わせてF5だ。 Public Function FillAlpha() As Boolean Dim i As Integer Dim j As Integer Dim row As Integer row = 1 For j = 0 To 25 Step 1 For i = 0 To 25 Step 1 Range("A" & CStr(row)).Value = Chr$(&H61 + j) & Chr$(&H61 + i) row = row + 1 Next i Next j End Function

syons
質問者

お礼

ありがとうございました。

  • naki_ttr
  • ベストアンサー率0% (0/1)
回答No.1

VBAマクロを利用すれば少なくとも可能です。 次のようなVBAマクロを作成し、実行してみてください。 ================================================== Sub FillAA2ZZ()   Dim i As Long   Dim j As Long   Dim lCount As Long   lCount = 1   For i = Asc("a") To Asc("z")     For j = Asc("a") To Asc("z")       ThisWorkbook.Worksheets(1).Cells(lCount, 1) = Chr(i) & Chr(j)       lCount = lCount + 1     Next   Next End Sub ================================================== ちょっとベタですが、目的の動作はすると思います。 必要に応じて、パラメータを変更してください。 ※インデントに全角スペースを使用していますので、そのまま切り貼りするとエラーになるかと思われます。

syons
質問者

お礼

ありがとうございました。

関連するQ&A

  • エクセルでアルファベットの連続を簡単に入力するには

    以下のようにアルファベットを連続して 簡単に入力する方法があれば教えてください A B ・ ・ Y Z AA AB ・ ・ AZ BA BB BC ・ ・ ZZ

  • エクセル関数のエラーについて

    エクセルの関数で間違っている箇所と解決策を教えて下さい。 下記【1】、【2】関数は正しく動いています。 【1】 IF(OR(AB21="err",AC21="err",AD21="err",AE21="err",AF21="err"),"err",IF(AND((OR(H21="SC",H21="CR",H21="A",H21="R",H21="CH")),(OR(AND(AE21="○",AF21="○"),AND(AD21="○",AF21="○"),AND(AC21="○",AF21="○"),AND(AB21="○",AF21="○")))),"(1)",IF(AND(OR(H21="MS",H21="AS",H21="BX"),AE21="×",AF21="○"),"(2)",IF(AND((OR(H21="MS",H21="AS",H21="BX")),(OR(AND(AD21="×",AE21="○",AF21="○"),AND(AD21="×",AE21="-",AF21="○")))),"(3)",IF(AND((OR(H21="MS",H21="AS",H21="BX")),(OR(AND(AD21="○",AE21="○",AF21="○"),AND(AD21="○",AE21="-",AF21="○"),AND(AD21="-",AE21="○",AF21="○"),AND(AD21="-",AE21="-",AF21="○")))),"(4)",IF(AG16="","(5)","err")))))) 【2】 AND((OR(H21="SC",H21="CR",H21="A",H21="R",H21="CH")),(OR(AND(AE21="×",AF21="○"),AND(AD21="×",AF21="○"),AND(AC21="×",AF21="○"),AND(AB21="×",AF21="○")))) これを【1】関数の「AG16=""」箇所に【2】を入れたのが下記関数【3】ですが、これだとエラーになります。 【3】 IF(OR(AB21="err",AC21="err",AD21="err",AE21="err",AF21="err"),"err",IF(AND((OR(H21="SC",H21="CR",H21="A",H21="R",H21="CH")),(OR(AND(AE21="○",AF21="○"),AND(AD21="○",AF21="○"),AND(AC21="○",AF21="○"),AND(AB21="○",AF21="○")))),"(1)",IF(AND(OR(H21="MS",H21="AS",H21="BX"),AE21="×",AF21="○"),"(2)",IF(AND((OR(H21="MS",H21="AS",H21="BX")),(OR(AND(AD21="×",AE21="○",AF21="○"),AND(AD21="×",AE21="-",AF21="○")))),"(3)",IF(AND((OR(H21="MS",H21="AS",H21="BX")),(OR(AND(AD21="○",AE21="○",AF21="○"),AND(AD21="○",AE21="-",AF21="○"),AND(AD21="-",AE21="○",AF21="○"),AND(AD21="-",AE21="-",AF21="○")))),"(4)",IF(AND((OR(H21="SC",H21="CR",H21="A",H21="R",H21="CH")),(OR(AND(AE21="×",AF21="○"),AND(AD21="×",AF21="○"),AND(AC21="×",AF21="○"),AND(AB21="×",AF21="○")))) ,"(5)","err")))))) 原因と解決策(VBAは避けたいのですが・・・)を教えて頂けないでしょうか?

  • エクセルの関数について

    下記のようなことが関数で出来ますか? A1セルに「AA AB AC AD AE」というデータがあったときに、 B1に、A1に「AB」か「AC」という文字列があればそれを取り出す。なければブランク(もしくは#N/A) かつ優先順位もつけたい。 (「AB」も「AC」もある場合は「AB」) 「AA」と「AB」の間など、文字間は必ず半角スペースがあいている状態です。 具体的な例は↓の画像のような感じです。 かなり高度だと思うんですが、関数で実現できますでしょうか? よろしくお願いします。

  • LibreOffice Calcでにょろ[~]赤色

    LibreOffice Calcでにょろにょろ[~]赤色がでる LibreOffice Calcで各セルに a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 aa ab ac ad ae af と、入力するとaa,ae,afに[~]にょろにょろと赤色がでるのですが? ab,ac,adには、でません。 [~]にょろにょろ赤色を消したい。 a0~afは、16進数のデータです。

  • エクセルの配列関数の制限について

    エクセルの配列関数の制限について V列にX列・Y列・Z列・AA列・AB列・AC列・AE列・AG列・P列を参照した配列関数を 下のように入力しています。 {=SUM((Y$1:Y$500=F7)*(Z$1:Z$500=H7)*(AA$1:AA$500)*(P7="○"),(AB$1:AB$500=F7) *(AC$1:AC$500=H7)*(AE$1:AE$500=H7)*(AG$1:AG$500)*(P7="×"))} このY列・Z列・AA列・AB列・AC列・AE列・AG列は、ぞれぞれ200行くらいしか 文字が入力されていない場合には、配列関数の結果がうまく表示されました。 これらのセルの200行以降から300行・400行と項目を増やしていったところ、 配列関数の結果がうまく表示されないセルが出てきました。 これは、配列関数の参照するセルに制限があるということでしょうか?

  • EXCELのセルの参照(関数)について

    よろしくお願いします。 セル(A1)~(AZ)の範囲における(AZ),(AV),(AR),(AN),(AJ),(AF),(AB),(X),(T),(P),(L),(H),(D)の各セルに文字列が入っている (または入っていない)場合で(BA)に「もし(AZ)が入力されていたら(AZ)の値を表示、もし(AZ)がブランクなら(AV)の値を表示、もし(AV)がブランクなら(AR)の値を表示、もし(AR)がブランクなら(AN)の値を表示・・・・」といった具合で関数を作成したいです。また(AZ),(AV),(AR),(AN),(AJ),(AF),(AB),(X),(T),(P),(L),(H),(D)のセルで穴あき状態で入力されていた場合は最も(AZ)寄りのセルを表示させたいです。 EXCEL2003で作成するいい方法はありますでしょうか?

  • D列に増減を表示したい

    AAからZZまでの増減を計っています。 AAからABになると +1です ABからAAになると -1です AZの次はBAです CZの次はDAです この場合 D列にはどんな計算式が入るのでしょうか?

  • アルファベット版00~99になって00に戻るVBA

    excel2010のVBAに付いてお力を貸してください。 例えばA1セルに「AA」と入っていた場合、マクロを一度実行したらA1を「AB」にしたいです。 最後(ZZ)まで行ったら最初(AA)に戻ります。 AA→AB AB→AC AZ→BA BA→BB ZZ→AA AAA→AAB AAZ→ABA ZZZ→AAA のような形です。 条件としましてはA1には1~8桁まで入る可能性があります。 大文字と小文字が入る可能性があります。(Aaなど混ざることはありません。) If Str = "Z" Then  Str = "A" ElseIf Str = "z" Then  Str = "a" Else  Str = Chr(Asc(Str) + 1) End If 一桁ならこんな感じになると思うのですが、繰り上げや、ZZZからAAAに戻すうまい方法が浮かびません。 よろしくお願い致します。

  • 関数をVBAで知りたい

    300ぐらいのセルに関数で計算をしているのですが、時間がかかって仕方ありません。次の関数をVBAに直して頂けませんか 質問1:表示したいセルはRange("AD98")です =IF(AND(COUNT(OFFSET(AC98,1-AD$8,0):AC98)<>AD$8),"",IF(AND(COUNT(OFFSET(AC98,1-AD$8,0):AC98=AD$8,AD97=""),AVERAGE(OFFSET(AC98,1-AD$8,0):AC98),IF(COUNT(AD97=1),AD97+2/(AD$8+1)*(AC98-AD97)))) 質問2:表示したいセルはRange("AC98")です =IF(AND(COUNT(AA98)=1,COUNT(AB98)=1),AA98-AB98,"") よろしくお願いします

  • IF関数が反応しないのはなぜですか??

     A1からAE1まで1から31の日付が入っています。 A1には○月1日と入力し表示形式はdで日付の数字のみです。 B1からAE1までは、A1+1、B1+1・・・・・・・・AD1+1のように入力してあります。 そこで、28日までしかない月もあるので、AC1には、=if(AC1<AB1,"",AB1+1)という式をいれてみたのですがうまく反応しません!!同じような感じでAD1・AE1 にも入力したいのですが、解決策を教えてください!!分かりずらくスミマセン。

専門家に質問してみよう