• ベストアンサー

エクセルのVBAで教えたください。セルの文字数が特定の文字数の時のみ下2桁を書き出す方法。

nayuta_lotの回答

回答No.4

VBA使わなくても関数でよいのではないでしょうか? セル1をA1として B1に =LEN(A1) C1に =IF(B1=4,RIGHT(A1,2)) これで、B1、C1を下までコピー また、セル2を省いてB1に =IF(LEN(A1)=4,RIGHT(A1,2)) で一回で求めることも可能です。

関連するQ&A

  • Excel セル内の文字だけを取り出すには

    Excelの1つのセルに 01234 ABCDEFG のように、「数字5つ(固定)+半角スペース+(任意の数の)文字」 が入力されています。数値は必ず5桁と決まっていますが、 文字列の数はさまざまです。 関数で文字の部分だけ、別のセルに取り出したいのですが、 どの関数を使うとできますか?教えて下さい。 よろしくお願いします。

  • エクセルで、検索したセルの下の行を出したいときは?

    たとえば、一つのシートに数字が入った表があるとして(シート1)、 隣のシート(シート2)でA1のセルに数値が入るとシート1から 同じ数値を探し出す(作業しているのはB1)。 その探し出したセルの下の行にあるものを出したいのですが、 その方法がわかりません。関数の数式の中で、 ”+1行”とか、”+1列”というのは、 どういった入力をすればいいのでしょうか? ちょっと説明がうまくできないので、伝わりづらいと 思いますが、補足していきますので、よろしくお願いします。

  • エクセルのセルから特定の文字を抜く連続作業の簡単な方法

    OFFICE2000のEXCELで、セルから特定の文字を抜く連続作業の簡単な方法を教えてください。 状況は、セル内に[AA-1234]という文字があり、また、別のセルには[AA-3656]や[AA-8964],[AA-5733]などの情報が大量にあったとします。ここから、「AA-」の部分を抜き出して数字だけのセルにする作業をしたいのですが、簡単な方法はあるでしょうか?当方は、マクロやVISUAL BASICなどの知識に乏しく、せめて関数を使用してでの作業が限界です。 セル内の数字は、それぞれのセルごとに連続性が無い不規則な数値です。よろしくお願いします。ご教授下さい。

  • EXCELで下一桁の数字のみを表示するには?

    いくつかのセルの数値を合計した数の、下一桁の数字のみを別のセルに表示させたいのですが、そのような関数はありませんか。

  • 文字列操作(ExcelのVBAですが)

    特定のExcelセル内にある文字列について、 例えば、 138.40.8.7 と入っている場合、 138.40.08.7 に、 35.9.1.6 と入っている場合、 35.09.01.6 にするVBA関数を作りたいのです。(セル関数でもかまわないですが) つまり、小数点で区切られている2番目と3番目の数字が 一桁の場合、頭に0を付けて、必ず二桁になるようにしたいわけです。 どなたか、ご教授くださいませ。 よろしくお願い致します。

  • Excelで「10桁の自然数×10桁の自然数」を計算する方法

    Excelで「10桁の自然数×10桁の自然数」を関数を組み合わせるか、VBAで組むかして、計算する方法をお分かりになる方おられませんでしょうか?(計算結果は文字列として得られることになると思いますが、それでかまいません。) こうすればできる、というアイデアだけでもかまいませんので、よろしくお願いいたします。

  • Excel VBA   %の入ったセル

    困りました、、、 VBAを使って A×30%+15000 これが入ったセルB2と たとえば250000が入ったセルB2を掛け算したいのですが (B2の数字は固定ではなくいろいろな数字が入ります) 文字列が入っていることにより うまくいきません 今は仕方なくMid関数で数字を抜き出して使っているのですが なにかよい方法はないでしょうか よろしくお願いします<m(__)m>

  • エクセル:特定の文字を含むセルの数を数えたい。

    たとえば表のある列に「○ABC」、「DEF○」、「GHI×」とあったときに 「○」を含むセルの数を数えたいんですが、どのようにしたらいいですか? セル内の文字列が「○」だけだったらcountif関数が使えますよね。 上のように「○」に「ABC」とか余分な文字列がくっついてるのでどうしたら いいかわからないんです。 よろしくお願いします。

  • エクセル セルの中の下四桁目によって表示を変える事。

    セルの中の下4桁が、もし2xxxだったら 文字列 ABCD を表示させる。 2じゃなくて3xxxだったら 文字列 XYZ を表示させる。 などは、関数でなんとかできるものなのでしょうか。 宜しくお願いします。

  • Excelで数値を桁ごとに置き換える方法について

    Excelのある列に、例えば顧客番号として10桁の数値(文字列:NULLやALL0を含む)が大量に並んでいるとします。 これらに対しNULLやオールゼロではない場合に、それぞれの桁を下記のような規則に従って置きかえる方法を考えているのですが、何か良い方法はないでしょうか。 ****規則********* 1~2桁目 変更前が1の場合5に、2の場合4に、3の場合1に…(以下9、0まで条件あり)置き換え 3~4桁目 変更前が1の場合6に、2の場合3に、3の場合2に…(以下9、0まで条件あり) 5~6桁目 変更前が1の場合7に、2の場合3に、3の場合6に…(以下9、0まで条件あり) 7~8桁目 変更前が1の場合4に、2の場合1に、3の場合8に…(以下9、0まで条件あり) 9~10桁目 変更前が1の場合5に、2の場合1に、3の場合8に…(以下9、0まで条件あり) ****************** 例えば、 1321231221 という数値(文字列)がある場合、 5136364115 という結果が別のセルにできるような形です。 関数であれば、まずNULLやALL0でない場合に、とIF文で規定し、それぞれの桁を10個のセルに分解して、さらにIF文で10個分岐を組んだ物をそれぞれのセルに適用させ、最終的に再度結合させれば何とかできなくはなさそうですが、数万セルに及ぶのでVBAで次のセル次のセル…とやった方が効率的だと考えます。 ただ、そんなVBAができれば良いのですがなかなか思いつきません…。 どなたかご教示いただけませんでしょうか。