[[20040624103217]] 『数字の連続打ち込み』(tasuketeman) >>BOT

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『数字の連続打ち込み』(tasuketeman)

エクセルで会計伝票を作りつくりました。ところが金額を打ち込む時、各セルに一つの数字となりますので打ってはtab押してまた数字を一つ打ってまたtab押してと大変時間がかかります。決算時など大変です。

金額を連続打ちしてそれぞれの位の数字がそれぞれのセルに自動的に入る方法はないでしょうか。


1234円の場合
現在の作業手順
 1の入るセルを選んで1を打ち込みtabボタン→(右隣りのセルに移るので)2を打ってtabボタン→3を打ってtabボタン→4を打って終了とえらい手間がかかっています。

これを

 1の入るセルを選んだら連続して1234と入力して結果的にそれぞれの数字がそれぞれ横に連続した各セルに一つづつ入るような方法を知りたいのです。
 よろしくお願いします。


『訂正』(tasuketemann)
質問のタイトルを「数字意の連続打ち込み」としたのは「数字の連続打ち込み」の間違いでした。訂正します。


 入力するための作業列を作ってもよければ、以下のようなことでできます。
 仮に入力するセルがA1だとして A1に4桁の数字があるとして
 F1に千の位として=IF(LEN(A1)=3,"",MID(A1,LEN(A1)-3,1))
 G1に百の位として=IF(LEN(A1)=2,"",MID(A1,LEN(A1)-2,1))
 H1に十の位として=IF(LEN(A1)=1,"",MID(A1,LEN(A1)-1,1))
 I1に一の位として=IF(RIGHT(A1,1)="","",RIGHT(A1,1))

 桁数が多い場合には、=IF(LEN(A1)=○,"",MID(A1,LEN(A1)-○,1)) ○の数字を増やしてください。
 (川野鮎太郎)


  私はこんな風にやってます。

 金額を入力する作業列を作って金額を入力します。(仮にA列、1,234円) 
 で、RIGHT関数で・・・
   1の位を表示するセル  =RIGHT(A1,1)
  10の位を表示するセル  =(RIGHT(A1,2)-RIGHT(A1,1))/10
 100の位を表示するセル  =(RIGHT(A1,3)-RIGHT(A1,2))/100
    .        .
    .        .
    .        .

(ラル)


 ↓このようなことでしょうか?
[[20040201221730]]『エクセルで入金伝票をつくりたい』(そううつせん)
 もしそうなら、応用できますよ。  (jun53)


『数字の連続打込み』(tasuketeman)

教えていただいたとおり、

 仮に入力するセルがA1だとして A1に4桁の数字があるとして
 F1に千の位として=IF(LEN(A1)=3,"",MID(A1,LEN(A1)-3,1))
 G1に百の位として=IF(LEN(A1)=2,"",MID(A1,LEN(A1)-2,1))
 H1に十の位として=IF(LEN(A1)=1,"",MID(A1,LEN(A1)-1,1))
 I1に一の位として=IF(RIGHT(A1,1)="","",RIGHT(A1,1))

で実行したらうまくいきました。
しかし、不要な欄、例えば1234をA1に打込む場合、万の単位には数字が入りませんが、数字が入らないとすべて#が出てしまい、印字されてしまいます。
いろいろな桁の数字がいりまじった伝票ですので億の単位まで上記のプログラムをいれれています。またA1に数字を打込んでエンターキーを押すと綺麗に数字がはいりますが、そのあと、A1の数字を消すと当然全部の数字がきえてしまいます。A1だけ非表示にできますか。


 上記は私のレスみたいですね。
 前にも言いましたように、桁が増えた場合
=IF(LEN(A1)=○,"",MID(A1,LEN(A1)-○,1)) ○の数字を増やしてください。
 としてましたが、そうされましたでしょうか。億の単位までということなので、
 列は9列使用しますよね。(入力列のA列は除く) 

 億の列には=IF(LEN(A1)=8,"",MID(A1,LEN(A1)-8,1))
 千万の列には、=IF(LEN(A1)=7,"",MID(A1,LEN(A1)-7,1))になってますよね。
 ここまではいいのかな?(^_^A;
 何もないときの、エラー処理を入れてなかったので上記式に IF(A1="","",を追加して
 =IF(A1="","",IF(LEN(A1)=8,"",MID(A1,LEN(A1)-8,1)))に修正してください。m(_ _)m

 ※A列を表示せずに印刷したいときは、A列をクリックして
 データ−グループとアウトラインの設定−グループ化をすれば、
 上に−の付いたマークが出ますので、
 そのマークをクリックするとA列が非表示になります。
 作業したいときは、+に変わったところをクリックすればA列が表示されます。
 (川野鮎太郎)


『数字の連続打ち込み』(tasuketeman)
河野様ありがとうございます。早速エラー処理追加しました。
ところが以下の問題が生じましたのでご教示下さい。
1の位から億の位まで各欄にこのエラー処理をおこないました。
しかし、例えば1234とうちこみますと万の位は非表示になるのですが、10万以上の位の欄にはやはり#が出てしまうのです。例えば123と打ち込みますと、千の位は非表示になるのですがやはり、万の位以上は#が出てしまいます。解決方法を教えて下さい。
もう少しで解決できます。よろしくお願いします。


 まことに申し訳ございませんでしたm(_ _)m
 いつもの悪い癖で、ひとつだけ検証したら上手くいったつもりでいました(^_^A;
 少し不細工になりましたが、再度修正してください。

 億の桁に=IF(A1="","",IF(ISERR(MID(A1,LEN(A1)-8,1)),"",MID(A1,LEN(A1)-8,1)))
 以下  =IF(A1="","",IF(ISERR(MID(A1,LEN(A1)-7,1)),"",MID(A1,LEN(A1)-7,1)))
     =IF(A1="","",IF(ISERR(MID(A1,LEN(A1)-6,1)),"",MID(A1,LEN(A1)-6,1)))
     =IF(A1="","",IF(ISERR(MID(A1,LEN(A1)-5,1)),"",MID(A1,LEN(A1)-5,1)))
     =IF(A1="","",IF(ISERR(MID(A1,LEN(A1)-4,1)),"",MID(A1,LEN(A1)-4,1)))
     =IF(A1="","",IF(ISERR(MID(A1,LEN(A1)-3,1)),"",MID(A1,LEN(A1)-3,1)))
     =IF(A1="","",IF(ISERR(MID(A1,LEN(A1)-2,1)),"",MID(A1,LEN(A1)-2,1)))
     =IF(A1="","",IF(ISERR(MID(A1,LEN(A1)-1,1)),"",MID(A1,LEN(A1)-1,1)))
     =IF(RIGHT(A1,1)="","",RIGHT(A1,1))

 (川野鮎太郎)


川野様、たびたびすいませんでした。明日出勤したら早速試して結果ご報告いたします。(tasuketeman)


川野鮎太郎様
お世話かけましたが、お蔭様で完全解決いたしました。仲間にも喜ばれております。
ありがとうございました。
ご報告遅くなり申し訳ありませんでした。
今後ともよろしくお願いします。(tasuketeman)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.