• ベストアンサー

EXCEL セルに一つずつ表示させるには(応用)

QNo.3005182で「EXCEL セルに一つずつ表示させるには」と質問したものです。 ――――――――――――――――――――――――――――――――――――――――――――――――――――― EXCELについて教えてください。 一つのセルにA1に123456と入力されているとします。 それを一つずつ分解して、B1には1。C1には2。D1には3というような形にしたいのですが。 MID関数を使うと近い形にはなりましたが、A1が12となっている場合に、B1に1、C1に2という形になります。 A1は12で、B1・C1・D1・E1は空白で、F1に1・G1に2と表示させたいのですが、なにかいい方法がありますでしょうか。 ――――――――――――――――――――――――――――――――――――――――――――――――――――― 数字入力セルと結果表示させるセルが隣あっていない場合ではどのようにしたら良いでしょうか? なにか良い方法がありましたら教えて頂けると助かります。 前回の質問と同じような事で申し訳ございません。 お力を貸して頂けると幸いです。 宜しくお願い致します。

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

  • ベストアンサー
  • maron--5
  • ベストアンサー率36% (321/877)
回答No.7

    A     B   C   D   E   F   G 1  123456   1   2   3   4   5   6 2    12                   1   2 B1=LEFT(RIGHT(" "&$A1,6-COLUMN(A1)+1)) ★右と下にコピー ★別に、数字入力セルと結果表示させるセルが隣あっている必要はありません

joymei
質問者

お礼

>★別に、数字入力セルと結果表示させるセルが隣あっている必要はありません 今回探していた条件を完璧に満たしています。 ありがとうございます。

その他の回答 (6)

  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.6

数値がG1にあってK1:P1までに表示の場合 K1=TRIM(MID(TEXT($G1,"??????"),COLUMN(A1),1) でP1までコピーする。 COLUMN(A1)のA1は値でなく列数(1)を取得する為に使っています。 L1ではこれがCOLUMN(B1)となり2を返すとういう按配です。

joymei
質問者

お礼

>COLUMN(A1)のA1は値でなく列数(1)を取得する為に使っています。 ありがとうございます。 簡単な関数しかわからないのでA1はセルを意味しているのかとおもいましたが、説明をいれて頂いているのでとてもわかり易かったです。

  • redowl
  • ベストアンサー率43% (2140/4926)
回答No.5

6桁以下数値限定で B1に下式。 これを、G1まで、コピペ =IF(ISERROR(MID($A1,LEN($A1)-COUNTA(C1:G1),1)),"",MID($A1,LEN($A1)-COUNTA(C1:G1),1)*1) この式を実行するにあたり、H~L列は未使用が条件。 というのは、セル 右列の数値表示セルをカウントしているので。 6桁の場合、右側5個の範囲 桁を増やしたければ、 C1:G1 の範囲を広げる(式中に2カ所)

joymei
質問者

お礼

ありがとうございます。 >H~L列は未使用が条件。 気をつけます。 注意事項をあげてくださって助かります。

回答No.4

前回の質問でmshr1962さんの回答では、B列以降にcolumn()-1文字目 を持ってくることになっていました。つまり、結果をD列から書くの であればcolumn()-3で、Z列からならcolumn()-25となります。 今回のzap35さんやmu2011さんの回答も同じです。自分が何文字目を 持ってくることになってるのかをcolumn関数で数えているので、1文 字目を担当する列が1になるように、式を調節する必要があります。 前回のnishi6さんの回答では、結果をどこに書こうと式の後ろの方 の数値が変化している部分が何文字目を拾ってくるかを直接示して いるので、何も心配する必要はありません。結果を連続して書く必 要すらありません。

joymei
質問者

お礼

ありがとうございます。 関数は簡単なものしかわからないので、とても助かります。

  • suekun
  • ベストアンサー率25% (369/1454)
回答No.3

要は表示させるセルの設定な訳です。 右詰めを考えるなら、文字数を検索して Gはどの位置を拾うか? Fはどの位置を拾うか?ですよね。 単純に、右端Gは =RIGHT(A1,1) で表示できます。 F列は文字数を数えて、右から2番目の文字を取るのですから =MID(A1,LEN(A1)-1,1) あとは、 LEN(A1)-1 の部分の「-1」を数字を変えていけばいい訳です。 B列 =MID(A1,LEN(A1)-5,1) C列 =MID(A1,LEN(A1)-4,1) D列 =MID(A1,LEN(A1)-3,1) E列 =MID(A1,LEN(A1)-2,1) そしてエラー回避でIF関数を組めば、 =IF(ISERROR(MID(A1,LEN(A1)-5,1)),"",MID(A1,LEN(A1)-5,1)) となります。

joymei
質問者

お礼

関数の説明までして頂いてとてもわかり易かったです。 ありがとうございます。

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.2

次の方法は如何でしょうか。 B1セルに=IF(RIGHT(INT($A$1/10^(7-COLUMN())),1)*1=0,"",RIGHT(INT($A$1/10^(7-COLUMN())),1)*1)を入力後、G1セルまでコピー

joymei
質問者

お礼

ありがとうございます。 B1に入力したら上手く表示できました。 数字入力セルと結果表示させるセルが隣あっていない場合には修正してみます。

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.1

>一つのセルにA1に123456と入力されているとします。 桁数は6桁以下として回答します B1セルに以下の式を貼り付けて右方向にコピーしてください =IF(LEN($A1)>=8-COLUMN(),MID($A1,COLUMN()+LEN($A1)-7,1),"") でも桁数がもっと多かったり、表示する位置が違う場合は式の修正が必要です。でも少し考えれば応用できると思いますよ

joymei
質問者

お礼

A1に入力して、B1からコピーすると表示できました。 時間のある時に修正して他のパターンにもチャレンジしてみます。 ありがとうございました。

関連するQ&A

  • EXCEL セルに一つずつ表示させるには

    EXCELについて教えてください。 一つのセルにA1に123456と入力されているとします。 それを一つずつ分解して、B1には1。C1には2。D1には3というような形にしたいのですが。 MID関数を使うと近い形にはなりましたが、A1が12となっている場合に、B1に1、C1に2という形になります。 A1は12で、B1・C1・D1・E1は空白で、F1に1・G1に2と表示させたいのですが、なにかいい方法がありますでしょうか。

  • 空白セルのとき0表示を消す方法(エクセル2003)

    例えば、      A     B     C     D・・・・・・ 1    10    20    0     30 2                   0 ・ ・ D1に、=A1+B1+C1 D2に、=A2+B2+C2の計算式が入っている時 A2,B2、C2が空白セルのとき、D2に0を表示したくない(空白セルにしたい)です。 過去の質問より、IF関数を使えばよいとわかったのですが、いまいちよくわからないため質問させて頂きました。 よろしくお願いします。

  • エクセル 文字を右詰めで1つのセルに1文字ずつ入力した形に変更するには

    いつもお世話になります。 昨日、MID関数等で、1つのセルに入力されている情報を1文字ずつセルに入力する方法を知ったのですが、それを右詰めにする方法はありますでしょうか。 例;Sheet1に、6ケタまでの数値を入れるセルがあります。 これをSheet2のA1~F1のセルに1字ずつ入れたいのですが、Sheet1に"1000"と入れた場合、Sheet2のセルA1~F1には A1=(空白),B1=(空白),C1="1",D1="0",E1="0",F1="0" という形にしたいのです 以上宜しくお願い致します。

  • ドロップダウンリストで空白の数式セルの非表示化方法

    以下の数式を入力したセルを参照して、氏名をドロップダウンリストから選べるようにしたいと考えております。しかし、下記の方法ですと、空白のセル(参照セルに値が無かった場合に空白""が返されたセル)が空白のままドロップダウンリストに表示されてしまい、目的の氏名をリストから探す時に手間がかかってしまいます。 <想定しているシート>    A       B       C        D 1                           2 3 氏名     物品     帳票氏名  重複判定 4 A川B男   ○○     A川B男     1 5 A川B男   ××                0 6 C田D夫   ▽      C田D夫      1 7 C田D夫   ◆                 0 5 C田D夫   □                 0 ※C4の入力数式: =if(D4=1,A4,"") ※C1セルの入力規則の元の値に =offset(C4,0,0,counta(C4:C1000),1) 上記の方法でも、C1セルのドロップダウンリストには空白を伴って氏名が表示される形となってしまいます。 このように、数式が入力された結果空白になっているセルを、ドロップダウンリストで非表示にする方法はないでしょうか? どうぞよろしくお願い申し上げます。

  • 【エクセル】 「3,465」を「 」「3」「4」「6」「5」と表示させたい。

    「エクセル2003の関数式について」 いつもお世話になっております。 以下の件についてご教示いただきたく質問いたします。 セルA1に「3,465」という数値が入力されています。 その数字を分解して、 セルF1に「5」E1に「6」D1に「4」C1に「3」B1に「空白」と表示させるには、どのような数式を1の行に入れるのでしょうか。 よろしくご指導のほどお願いいたします。

  • エクセル 文字が表示されたセルを抽出したい

    エクセルの関数を教えて下さい。    A     B     C     D   1 りんご              りんご 2       プリン        プリン 3             紅茶   紅茶 4 バナナ              バナナ 5      6             緑茶   緑茶 上記のような表があります。(A~は列、1~は行番号です) A1~C6までは、IF関数で、条件にあった場合に“りんご”などを表示、そうでない場合には空白と なるような式が入っています。 そして、D列のように、それぞれの行に表示されている文字を抽出、何も表示されていない場合は空白としたいのです。 D列にはどういった式を入れればよいかを教えて下さい。 ※各行に表示されるのは1つのセルのみで、例えばA1のセルとC1のセルに文字が表示される ことはありません。A1に文字が表示されている場合は、必ずB1・C1のセルは空白です。 宜しくお願い致します。

  • EXCEL 数式が入った空白セルを数える

    毎度お世話になっています。 質問の内容ですが、例えば下記のようなシートがあるとします。 セルB1、セルC1、セルD1:手入力セル セルA1:数式「=IF(B1="","",B1+C1)」 セルA2:文字列 セルA3:数式「=IF(D1="","",D1*0.1)」 セルA4:文字列 セルA5:A1+A3の計算結果を表示 (※なお、セルA2、A4は数値が入らない) というような場合において、 ●セルB1、C1、D1になにも入力されていない場合、セルA5が空白となる。 ●セルB1、C1にのみ数値が入力されている場合、セルA5の計算結果がセルA1の値のみ。 ●セルD1にのみ数値が入力されている場合も上記と同様に計算結果が表示される。 以上の条件を満たす数式をセルA5に入力したいのですが、 COUNTBLANKは数式が入っている場合には使えず、COUNTAの場合だとセルA1、A3のどちらにも数値が入った場合に表示される、といった数式になります。 IFをいくつも使えば可能とは思いますが、もう少し単純に数式を作れたらと思い質問をさせて頂きました。 よろしければ御回答宜しくお願い致します。 (内容を訂正したため、いったん質問を削除しました。もし御回答中の方が居ましたら申し訳ありませんでした。)

  • Excelで特定セルのテキストを非表示にする

    Excelで特定セルのテキストを非表示にすることが可能でしたら方法を 教えてください。 A-D,1-4の16個のセルを使用しているとします。 このExcelシートは客先に提出するものとします。 このうちB3とC2セルは自分のメモであり、客先には見られたくないものです。 B3,C2にテキストを書き込んでおき非表示(空白)にしておき 解除はパスワードを入力して可能にしたいのです。 特定の行or列全体を非表示にする方法は、わかるのですが 特定のセルを非表示ではなく、セル内のテキストのみを無し(空白)とする のはわかりません。 よろしくお願いします。

  • エクセルで空白セルを寄せたい

    エクセル2002使用です VBAは使わずに関数だけで空白セルがあるセルを詰めて表示したいのですが・・・   A|B|C|D|E|F|G 1 あ い う え お か き 2 ○   ○ ○   ○ の表を   A|B|C|D|E|F|G 1 あ う え か  2 ○ ○ ○ ○ のように表を書き換えたいのです。 1行目には必ず文字が入力されています。 2行目には入力されているセルと空白セルが不定期に入力されています。 2行目のセルが空白ならば、1行目のセルも削除して左へ詰めて 表を転記したいのです。 よろしくお願いします。

  • エクセル 隣のセルの数値によって文字を表示させる

    こんにちわ。 いろいろ試したのですがいまくいかないので質問させてください。 C1セルに計算式(=B2/A2)が入っていて数値が出ているんですが、 その数値が20より小さいとき、隣のセルD1に「←!!!」 20より大きいときは空白にしたいのです。 今D1に入力しているのは下記の関数ですが↓ =IF(C1<=20,"←!!!","") これでは20以上の数値でも「←!!!」が表示され、 どうしたらいいのかわかりません。 助けてくださいー!よろしくお願いいたします。

専門家に質問してみよう