• 締切済み

エクセル関数で千の位とかの数値を取得するには?

算用数字を、セルに入力して、 その金額の、一の位、十の位 百の位…のそれぞれの数値を個別に取得することが出来る関数はありますか?

みんなの回答

回答No.6

LEFT、MID、RIGHT 関数で取り出した数は文字列となります。文字列ですが、「*1」などと四則演算などの計算をすれば、すぐに数値に変化します。 始めから数値として求めるためには、上の関数を使った数式に「*1」などを混ぜるか、次のような別の関数を用います。 =mod(int(a1/10^3),10) あるいは =int(mod(a1/10^3,10)) あるいは =int(mod(a1,10^4)/10^3) ※いずれも 1000 の位を抜き出す場合

welovekobe
質問者

お礼

まったく新しい関数が出てきて驚いております。 エクセルで作成した銀行用伝票に1桁ずつ入れたいので、 どれが一番適しているか試してみます。 どうも早々に感謝です。 お礼が遅くなって済みません。 有難うございました。 参考にさせて頂きます。

welovekobe
質問者

補足

ご回答頂いた皆様にお尋ねしますが、 伝票の最後に「¥」をつけないとならないのですが、 自動的に、最上桁の次のセルが「自分」だと判断して、 自動的に、次のセルだけが、「¥」を表示させるようにする式を作成することは可能でしょうか? これが大変難しいと思うのですが・・・不可能かも???

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.5

A2セルに数値が入力されているとしてB2セルには1の位、C2セルには10の位、D2セルには100の位・・・・と横に表示させるとしたらB2セルには次の式を入力して右横方向にドラッグコピーします。 =IF(COLUMN(A2)>LEN($A2),"",INT(MOD($A2/10^(COLUMN(A2)-1),10))) 勿論、例えば100の位の数値を求めるのでしたら次の式で良いでしょう。 =INT(MOD($A2/100,10))

welovekobe
質問者

お礼

なるほど。 とにかく、式を入れて一度試してみます。 お礼が遅くなって済みません。 有難うございました。 参考にさせて頂きます。

noname#204879
noname#204879
回答No.4

添付図参照 B2: =LEN(A2) C2: =IF(COLUMN(A2)<MAX($B:$B)-$B2+1,"",MID($A2,COLUMN(A2)-MAX($B:$B)+$B2,1))

welovekobe
質問者

お礼

難しそうですが、かなり図式もあり、 理解できています。 取り敢えず、自分でやってみますね。 お礼が遅くなって済みません。 有難うございました。

回答No.3

A列:問題の数値データ 1行目:B1~に位を表す数値(10のべき乗:例えば、10000、1000、100、10、1) 2行目:お答え B2: =RIGHT(INT($A$2/B$1),1) B2は右方向にコピー A列のデータの数に合わせて、まとめて下右方向にもコピー

welovekobe
質問者

お礼

どうも早々に感謝です。 お礼が遅くなって済みません。 有難うございました。 参考にさせて頂きます。

  • shintaro-2
  • ベストアンサー率36% (2266/6244)
回答No.2

#1さんの方法が素直ですが、 いろいろなやり方があって、 A1に数値があるとしたら、  1の桁は、right(a1,1)  10の桁は、right(int(a1/10),1)  100の桁は、right(int(a1/100),1)  としても可能です。

welovekobe
質問者

お礼

どうも早々に感謝です。 お礼が遅くなって済みません。 有難うございました。 参考にさせて頂きます。 取り敢えず、いろいろご回答者様の方法を 試してみます。

  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.1

A1セルにとりあえず最大10ケタの整数(小数点以下が無い数字)を記入することにして >数値を個別に取得することが出来る関数 どういう具合に表示したいのか不明なので、とりあえずB1セルから右に10ケタ分「右詰」で数字を並べることにして B1に =MID(TEXT(A$1,"0000000000"),COLUMN(A1),1)*1 と記入して右にコピー または =MID(TEXT(A$1,"??????????"),COLUMN(A1),1) と記入して右にコピー

welovekobe
質問者

お礼

どうも早々に感謝です。 お礼が遅くなって済みません。 有難うございました。 参考にさせて頂きます。

関連するQ&A

  • エクセル 位を抜き取る関数を知りたい

    エクセルのことです。 たとえば、1234と言う数字があるとします。 10の位の"3"を抜き取り、別のセルで表示したい場合、 どんな関数をどう使えばいいでしょうか。

  • エクセル関数を使って数値を取り出す

    エクセルの範囲から残りの数値を取り出す方法を教えてください   図の様に1~9の数値入ったセル範囲があります そこから 入力されている数値外の9以内の数値をとりだす マクロを使わないで  関数だけでできるでしょうか?  

  • エクセルで範囲内の条件を満たす数値を返す関数を教えてください。

    エクセルで範囲内の条件を満たす数値を返す関数を教えてください。 100以下なら1111 100超~200以下なら2222 200超~300以下なら3333 300超~400以下なら4444 400超~500以下なら5555 500超~600以下なら6666 600超~700以下なら7777 700超~800以下なら8888 800超~900以下なら9999 900超なら10000 上記のような条件があり、入力した数字が該当する条件の範囲内に該当している数字を抽出したいのですが、それができる関数を教えてください。 例えばA1セルに650と入力するとB1セルに上記の条件で該当する7777を表示する、 A1セルに100と入力するとB1セルに1111、 901とA1に入力するとB1に10000と表示されるなどのようにしたいのです。 IFを使った関数では7つまでしかネストできないので、上記の場合10ネストしなければならないのでIF関数が使えません(使える方法があるかもしれませんが私は知りません)。 ネストせずに「&」を使う方法も考えたのですが、それだと数値として扱われず文字として扱われてしまい表示形式を自在に編集することができなくなってしまいます。 良い解決方法を教えてください。

  • エクセル 2003 関数

    エクセル 2003 関数 お世話様です。 XPのエクセル2003にてセルA1に数値の3を入れております。 これをセルC5の文字間に関数値として挿入する事は可能でしょうか? 例: セルA1に数字の3、セルC5に【カウントです。】と入力されていたら    【カウント3です。】となります。 セルA1の数値によってセルC5の入力内容が変わるようにしたいのですが 可能でしょうか? お手数ですが、ご存知の方がいましたらご教授下さい。 以上、何卒宜しくお願い致します。

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

    Office2007のエクセルに関して質問です。 関数の挿入のfxを押してLOOKUP関数を入れたときに 検査値をセル指定をし、そのセルの中の数字で検索したいのですが、なぜかできません。 直接数字を入れればできるのですが、それでは関数を使う意味がないので・・・。 fxでのLOOKUPのダイアログで検査値を セル指定をした場合="数値" 直接数値を入力した場合=数値 となるので、「""」がおかしいのかと思うのですが「""」を外すこともできず困っております。 初心者の質問で恐縮ですが、お答えいただければと思います。

  • エクセル 数値の中に○○がある場合数値を返す関数

    エクセルについて質問させて下さい。 A1のセルに185001という数値がありB1以降、下のセルには185002、185003というように 数値が入力されています。 A2には100と入力されていた場合、 A1に85001という数値があった場合、A2の値をA3に飛ばしたいのですが どのような関数を使用すればよろしいでしょうか? よろしくお願い致します。

  • Excel 数値の丸め

    Excel2010を使用しておりますが、数値の丸めについて教えて下さい。 ■条件  ・Sheet1のA1セルに「10,000」、A2セルに「20,000」と入力。  ・Sheet2のA1セルに「=Sheet1!A1+Sheet1!A2」の式を入力。 ■結果  ・Sheet2のA1セルには「30,000」と表示される。 ■したいこと  ・この「30,000」という数値を「30」という数値に変更したい。 実際はSheet1には「10,000」や「20,000」の金額がたくさん入力されており、それをSheet2で集計しております。 しかし、Sheet2の合計金額が細かいため千円単位に一括して表示しなおしたいのです。 「ROUNDUP」や「ROUDDOWN」の関数を使用すれば千円単位に変更することはできますが、セル毎に入力しなければならないので、対象範囲を指定して一括で千円単位に変更できないでしょうか? という質問です。 よろしくお願い致します。

  • excel 関数 文字列、数値

    excelで セル内の数値を合計する関数を教えてください 例 セル A1「代1」 A2「代2」 A3「代8」と入力されています   数値(1、2、8)のみを合計(11)になる関数を教えてください

  • エクセルで上から2つめの数値を取得したい(MAXのような関数はないのか)?

    エクセルで、複数のセル(とりあえず横に並んでいる)から最大、最小の数値を取得するにはmax,min関数を使ってできます。では、同様に上から2番目の数値を取得する関数はあるでしょうか? rank,match,hlookup等を組み合わせては実現可能なようですが、列をたくさん消費します。しかも、1位が2つある時の対応など、めんどうです。もし、簡易な手法があったら教えてください。

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

    数字の入力されているセルや入力されていないセルがあります。 この数字が入力されているセルだけを「1」に変換できる関数などはありませんでしょうか? 数字が入力されていないセルに「1」が入力されてはまずいです。 既に入力されている数字は、「1~100」までの数字がランダムに入力されています。 どなたか、よいお知恵があればお貸し下さい。 宜しくお願い致します。

専門家に質問してみよう