• ベストアンサー

EXELでひとつのセルの値を任意の複数セルに振り分けたい

投稿させて頂きます。 もし、なにかわかることや参考関数があればお教え願えばと思います。 ある任意のセルA1の数値(12345)を B1~5までのセルに振り分けたいと思います。 実行後のイメージはこんな感じです A1:12345 B1:1 B2:2 B3:3 B4:4 B5:5 ただし、数値のみ入力が前提ですが、たとえば0が入るような場合 A1が1234 だったばあい B5には何も入力せず空にしておきたいのです。 できるだけマクロは使いたくないので誰か、設定と関数などで出来るよ というような方がおられましたらご教授願えませんか? よろしくお願いいたします。

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

  • ベストアンサー
  • sanpin-cha
  • ベストアンサー率48% (533/1095)
回答No.2

B1=MIDB($A$1,1,1) B2=MIDB($A$1,2,1) B3=MIDB($A$1,3,1) B4=MIDB($A$1,4,1) B5=MIDB($A$1,5,1) $A$1 :A1 を指定 次が何文字目かを指定 最後が指定した文字から何文字かを指定です。 この数式だと、半角入力で有効です。 全角だと2文字単位になると思います。

その他の回答 (5)

  • jindon
  • ベストアンサー率43% (50/116)
回答No.6

お騒がせしております。 No.1 + No.3の訂正です。 B1セルからですね。 最後の 0 表示なし B1: =IF(OR(ROW()>LEN(A$1),AND(ROW()=LEN(A$1),RIGHT(A$1,1)="0")),"",MID(A$1,ROW(),1)*1) 0 表示なし B1: =IF(OR(ROW()>LEN(A$1),MID(A$1,ROW(),1)="0"),"",MID(A$1,ROW(),1)*1) でフィルダウンです。

tuka0614
質問者

お礼

たいへん参考になり助かりました。 EXEL関数は慣れていないのでこれからも少しづつ覚えていこうと思います ありがとうございました! Tsuka0614

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.5

(1)むしろ10桁定桁で、12345を縦に△△△△△12345にする方法を記します。 B1セルに=MID(REPT(" ",10-LEN($A$1))&$A$1,ROW(B1),1)をいれてB10まで+ハンドルを引っ張る。 (2)上詰ならC1セルに、=MID($A$1,ROW(C1),1)を 入れてC10まで+ハンドルを引っ張る。 (3)(1)式に横に並べるならB1セルに =MID(REPT(" ",10-LEN($A$1))&$A$1,COLUMN(B1)-1,1) といれ、K1セルまで+ハンドルを引っ張る。 (4)横ならB1に=MID($A$1,COLUMN(B1)-1,1)と入れて F1まで+ハンドルを引っ張る。

回答No.4

こんばんは。 B1に、=MID(TEXT($A$1,REPT("0",LEN($A$1))),1,1) B2に、=MID(TEXT($A$1,REPT("0",LEN($A$1))),2,1) B3に、=MID(TEXT($A$1,REPT("0",LEN($A$1))),3,1) B4に、=MID(TEXT($A$1,REPT("0",LEN($A$1))),4,1) B5に、=MID(TEXT($A$1,REPT("0",LEN($A$1))),5,1) で、出来ました。

  • jindon
  • ベストアンサー率43% (50/116)
回答No.3

No.1の訂正です。 もちろん、両数式共に A2 に挿入です。 正↓ A2: IF(OR(ROW()-1>LEN(A$1),AND(ROW()-1=LEN(A$1),RIGHT(A$1,1)="0")),"",MID(A$1,ROW()-1,1)*1) 又は、 A2: IF(OR(ROW()-1>LEN(A$1),MID(A$1,ROW()-1,1)="0"),"",MID(A$1,ROW()-1,1)*1)

  • jindon
  • ベストアンサー率43% (50/116)
回答No.1

最後の 0 だけ表示なしの場合、 B1: =IF(OR(ROW()-1>LEN(A$1),AND(ROW()-1=LEN(A$1),RIGHT(A$1,1)="0")),"",MID(A$1,ROW()-1,1)*1) とにかく 0 を表示しない場合、 B1: =IF(OR(ROW()-1>LEN(A$1),MID(A$1,ROW()-1,1)="0"),"",MID(A$1,ROW()-1,1)*1) として下方へコピー+ペースト

関連するQ&A

  • エクセルでセル入力とセル出力の自動化

    おそらくマクロで簡単に出来ることだと思うのですが、マクロを使ったことが一度もなくやり方がわからなく苦慮しています。 やりたいことは、簡単に述べると、 (1)セルA1に数字を入力(変数)すると、セルA2に計算結果が出る。 [つまり、A2にはA1を変数とする関数が入っている] (2)セルB1、セルB2、セルB3、…にはそれぞれ数値が入力されている。 [変数リスト] (3)変数リストにあるB1の数値をA1に入力して、その結果のA2をC1に書き出す。さらに、B2をA1に入力して、その結果のA2をC2に書き出す。以下、これを変数リストすべてについて実行する。 という感じのことです。この程度のことなら、初めから関数化してしまえばおしまいなのですが、実際A2の出力でやっている計算はシートを複数使うような大規模な計算なので、関数化するのは面倒です。そこで、手動でいちいち変数の入力と結果の出力を実行しておりましたが、それはそれで入力ミスや出力ミスもしそうですし、自動化できるならそれに越したことはありません。 そういうわけで、上記の作業を自動化する方法をご教授いただけたらと思います。どうぞよろしくお願いします。

  • ファイルを開かず任意ファイルのセルの値を表示する方法について。

    みなさんこんにちは、色々と自分なりに調べてみたつ もりですが、解決できないのでご教示お願い致します。 エクセルで、”ファイルAのセルA1”任意に入力さ れた”ファイル名のA1”の値を”ファイルAのセル B”に表示させたいのですが、どのようにすれば良い のでしょうか? INDIRECT関数のようにファイルが開かれていることを 前提としない方法としたいのですが・・・

  • マクロで複数のセルに数値を入力したい

    エクセル、マクロとも初心者なのですが、タイトル通りのことをするにはどうしたらよいか教えてください。 やりたいことは、 「指定したアクティブセル(毎回変わる)を選択し、その隣のセルにあらかじめ決められた数値をマクロで入力する」というものです。 例えば・・・ A1をアクティブにし、マクロを実行する B1、C1、D1、E1のセルに決められた数値が入力される こんな感じです。 基本的なことかもしれませんが、どうかよろしくお願いします。

  • EXELで任意のセルのみ数式表示したい

    計算式の入ったワークシートで、ある特定のセルのみ計算値ではなく、 入力された式を表示したいのですが、できるのでしょうか? A1に+3+5と入力したら、A1の表示は+3+5で、 B1にA1*3と入力したら24となるようにしたいのです。 (A1はあくまでも数値で8という値を持ったまま、表示のみを式にしたい) lOTUSではセル表示を「式」にすれば簡単にできたのですが、Excelでのやり方がわかりません。 ・ツール→オプション→数式では、ワークシートすべてが式になってしまいます。 ・数式表示関数もあるようですが、それだと表示セルが別になってしまいます。

  • エクセルでファイル名を任意のセルに入力するマクロを組むには?

    エクセルにて、マクロを実行すると、 ダイアログボックスが出てきて、ファイルを 選ぶと、そのファイル名が任意のセル (たとえばB10とか)に入力されるような マクロを組みたいのですが、うまくいきません。 しかも、そのファイル名についている拡張子なしで 入力されるようにしたいです。 どなたかご教授ください。

  • 複数セルを結合して一つのセルにしたい

    エクセル関数の質問です。 A列のセルに、数字が並んでいます。 aaaという部分はカテゴリーを示すものです。 B列のセルに同じカテゴリーの別の数値を連結させ、スペースで区切ってひとつのセルに表記させるにはどうすればいいでしょうか? concatenate関数を組み合わせて式を作ろうとしたのですが、うまく出来ませんでした。 VBAやマクロ、ユーザー定義関数になっても構いません。 ご教授ください。 A       B aaa_0001  aaa_0002 aaa_0003 aaa_0002  aaa_0001 aaa_0003 aaa_0003  aaa_0001 aaa_0002 bbb_0012  bbb_0013 bbb_0013  bbb_0012 ccc_0017

  • エクセルのマクロで任意のセルに他のシートのセルの内容を入力したい。

    初心者のhaasan99と申します。 エクセルのマクロを利用して、任意のセルに特定のセルに入力している内容を入力したいのです。 任意のセルと特定のセル(たとえばA1)が同じシートの場合は、下記のマクロで実行できました。 ActiveCell.Value = "=$A$1" 特定のセルが他のワークシートの場合でもできる方法があるでしょうか。(たとえば、任意のセルがワークシート1で特定のセルがワークシート2) 参考書を調べていろいろやってみましたが、うまくいきませんでした。 どうぞよろしくお願いします。

  • EXELでセルの色を投影するには?

    初歩の質問で申し訳ありません。 EXEL上で例えばA1のセルの色が赤であった場合 任意のセルを(例えばC10)関数かマクロでA1のように赤にする方法は無いでしょうか? 多数のセルの色をA1を変えることで変えたいのです よろしくお願いいたします

  • 離れたセルをつなげる

    A1,A2,A5,A7 A8,A11というように不規則に離れたセルを(セルには数値が入っています) B1,B2,B3,B4・・・というように並べ換えたいのですがどんな関数を使えばいいですか? 関数では無理なのでしょうか? マクロは使ったことがないのでできたら関数でと思っています。

  • Excelのマクロでセル単位でロックをかける方法に関する質問です。

    Excelのマクロでセル単位でロックをかける方法に関する質問です。 例えばa1からd10の範囲のセルに対して a列の各セルは、IF関数で数値か""を返しているとします。 a列のセルが数値であれば、同じ行の各セルをロックし、""であれば、後からそのセルに手入力できるようにロックを外したいと思います。(もちろんIF関数は書き換えられますが、それでOKです) 例えば、a1が数値なら、a1,b1,c1,d1の各セルはロックに、     a1が""なら、a1,b1,c1,d1の各セルはアンロックに したいわけです。 手作業だと行数が多い場合大変なので、マクロで自動的に行いたいと思いますが、マクロ初心者のため、どうすればよいのかわかりません。 どなたかご教授願えればありがたいです。 よろしくお願いします。

専門家に質問してみよう