• ベストアンサー

EXCEL 関数を使って出来る?

例えば 1000×0.5(この数字は変動する)=500 のこの数字を A1のセルに 0.5 と入力してenterすると A1のセルに 500 と表示される方法はありますか? (日付等は表示方法が指定出来るので10/5と入力しても10月5日と表示されるので 類似するような方法が無いのかな?と疑問) 直接の入力の方法が駄目でしたら隠れたセルに 0.5 と入力して 人からは 500 と表示される数字だけ見えるようにする良い方法があれば 教えて下さい

  • swyn77
  • お礼率80% (101/126)

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

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.4

No.1です。 >これをセルの I7からI45までに適用させたいのですが・・・ とありますので ↓のコードに変更してみてください。 Private Sub Worksheet_Change(ByVal Target As Range) If Intersect(Target, Range("I7:I45")) Is Nothing Or Target.Count <> 1 Then Exit Sub If Target <> "" And IsNumeric(Target) Then Application.EnableEvents = False Target = Target * 8000 Application.EnableEvents = True End If End Sub こんな感じではどうでしょうか?m(_ _)m

swyn77
質問者

お礼

出来ました!かなり感動してます。無知な私にご指導頂き本当に有難うございます。 少しVBAに興味が湧き勉強してみようかと思い始めています。 頭に入るとは思えないですがとても良いきっかけになりました。

その他の回答 (3)

  • OKWavex
  • ベストアンサー率22% (1222/5383)
回答No.3

セルの書式設定において 表示形式タブ のユーザ定義で [>=10]#0"000";0 /1000 と入力して(かならず、/1000入力前に Ctrl+J で改行して2行の入力が必要) 配置タブ の文字の制御で、折り返して全体を表示する(W)にチェックを入れることで、 10より大きな数値は後ろに000を付加して表示することで1000倍表示し 10より小さな数値は1000で割る前の値として表示することで1000倍表示します ただし、10より大きな値は小数点以下が無視され、10より小さな数値の1000倍の結果の小数点以下は四捨五入されます

swyn77
質問者

お礼

他の方の方法で無事解決いたしましたが、教えて頂いたこちらの方法も他のシーンで活用出来ます。 有難うございました。

回答No.2

こんばんは。 ご質問のA1を対象とします。 マウスカーソルを、A1に置き、 書式で、ユーザー定義を選び、小窓に 0/1000 とし、 0の次にカーソルを持ってきて、「コントロール+J」で改行を入れてあげます。 すると、見かけ上は、小窓の中は、「0」だけになります。 次に、配置を開き、文字の制御--「折り返して全体を表示する」に、「レ」チェックを入れますと、0.5は、500に、つまり1000倍に表示されます。

swyn77
質問者

お礼

他の方の方法で無事解決いたしましたが、教えて頂いたこちらの方法も他のシーンで活用出来ます。 有難うございました。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.1

こんばんは! 関数では無理だと思います。 VBAになってしまいますが、一例です。 画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面に ↓のコードをコピー&ペーストしてA1セルにデータを入力してみてください。 Private Sub Worksheet_Change(ByVal Target As Range) 'この行から If Target.Address = "$A$1" And Target <> "" Then If IsNumeric(Target) Then Application.EnableEvents = False Target.Value = Target.Value * 1000 Application.EnableEvents = True End If End If End Sub 'この行まで ※ >A1のセルに 0.5 と入力してenterすると A1のセルに 500 と表示される とありますが、 見た目ではなく実データ(0.5ではなく500)になってしまいます。 こんなんではどうでしょうか?m(_ _)m

swyn77
質問者

補足

これです!すごい!出来ました。それでもう少し教えて下さい。1000は変更したいので今回8000に置き換えてちゃんと希望の数値が表示されました。これをセルの I7からI45までに適用させたいのですがどのように入れれば良いでしょうか?何度も申し訳ありません。宜しくお願いします。

関連するQ&A

  • エクセルについて

    エクセルでの計算方法についてききたいのですか?セルのA1に15000と入力してセルA2に16500と入力して、その15000と16500の差し引きを求めたい場合は、=(A1-A2) でその15000-16500で計算されたのが表示されますが、15000から16500だとその変動幅は1500で先ほどの入力方法で求められますが、15000から16500の変動率は10%になりますが、(15000の10%が1500なので15000+1500で16500となるので)その2つの数字の変動率をセルで計算したい場合どのような式を入力すればいいかわかりますか?

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

    こんにちは。 ISNUMBER と IF関数を用いてセルに"真"か "偽"を表示させたいのですが・・・ 例えば、セルに特定の数値が入力されれば“真”を表示する。ということです。 どうやら、数字の「1」は「10」「12」なども 「1」が含まれていると認識するようで、困っています。 また、他のセルの関数を参照していることからどのような式を組めばよいのか分かりません。 詳しく説明すると以下のようになります。 (( ))はセルに入力されている関数です。        A         B         C 1    2009/01/20   2      1    (( =MONTH(A1) )) 3     4、10月    (( 文字列  )) 4     真    (( = IF(ISNUMBER(SEARCH(A1,A3)),"真", "偽") )) A1 シリアル値で入力された日付 A2 その日付より“月”だけ取り出して表示 A3 真か偽かを判断する為の基本となるデータを入力 A4  ISNUMBER関数 → A2の数値がA3に含まれていれば“真”をそうでないらな“偽”を表示する。 上記のように 1 は 10月 とは異なるので“偽”としたいのですが、10月の 10 の 1 を読み取ってしまうようで “真”と なってしまいます。 11月、12月 等も 1、2、と 読み取ってしまうようで・・・・ 1は 1月のみ“真”と表示。 2は2月のみ“真”と表示。というようにするにはどうしたら良いのでしょうか? 宜しくお願いします。

  • Excel 関数で出来ますか?

    指定範囲内に指定の数字が入力されている場合に1と表示して、 それ以外は何も表示しない関数ってありますか? 例えば A1~A1000の中に5という数字があった場合、 1と表示したいのですが。 =IF($A$1:$A$1000=5,"1","") これで大丈夫かなと思ったのですが、 D1に関数を入力している場合、A1に5が入力されている時にしか1と表示されません。 A2に5が入力されていても1と表示してくれないんです。 "="は"を含む"ではないからダメなのかと思いますが…。 どこをどのように直せばorどんな関数を使えば希望通りに表示されるでしょうか? 皆様の、知恵をお貸しください。 よろしくお願いいたします。

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

    いつもお世話になります。下記のように表示させたいのですが、 どのような関数を使えばよいのでしょうか。 たとえば、A1のセルに、4と入力すればA2のセルに1と自動で表示したいのです。               1~5の間の数字を入力すれば1と表示         6~10の間の数字を入力すれば2と表示         11~15の間の数字を入力すれば3と表示         16~20の間の数字を入力すれば4と表示         21~25の間の数字を入力すれば5と表示 以上ですが、よろしくお願いします。

  • エクセルで…関数かマクロか?

    エクセル2007を使っています。 3列のシートがあるとしますね。 それぞれの列は、「A 現金残高」、「B 収入」、「C 支出」とします。 たとえば、3行目から数値を入れるとします。 普通ならば、B3 (収入)のセルに 1000(円) と数字を打ち込めば、 A3 (現金残高)のセルに同じく 1000が入るよう、=B3 とすればいいと思います。 同様に、C3のセルに1000と入力すれば、 A3のセルには -1*(C3) とすることで、現金残高が収入と支出によって、 プラスマイナスされるようにし、あとで各列を∑すれば済みますね。 でも、いま僕がやりたいのは、 たとえば現金残高 A3のセルに -1000 と入力すると、自動的に C3のセルに 1000 と 表示され、A3に 1000 と入力すると、 B3のセルに 1000と表示されるようにしたいのです。 要するに、現金残高に入力した数値がプラスかマイナスかによって、 数字が表示されるセルを個別に指定し、指定したセルに計算結果を表示させたいわけです。 IF関数で、数値のプラスマイナスは判断できますが、任意のセルを指定させる方法が わかりません。 「もし…だったら 『任意のセルに』○○せよ」  というような指定はできるのでしょうか? もしくは、マクロを使わないとできないのでしょうか? いろいろサイトも調べてみましたが、力不足で回答にたどり着くことができませんでした。 よろしくご教授お願いいたします。

  • エクセルの関数教えて下さい。

    指定したセルに任意の文字等が入力されたら、指定したセルに任意の文字等が自動的に入力できるような設定はありますか? 例えば、A1に(数字)と入力されたら、A2に(文字)と自動的になるようにしたいです。 Excel2003を使っています。よろしくお願いします

  • エクセル関数で

    初歩的な質問で 申し訳ないですが。 シート 3枚に データーを入力して その計を 別シートに表示したいのですが、その時表示したいシートは日付で管理したいのです。  IF(TODAY()=A3,シート1!$O$2+シート2!$O$2+シート3!$O$2,IF(A3<100000,"")) の数式を立てたのですが、 この数式だと日付が変わるとそのセルは 表示が出なくなります。日付が変わっても そのシートの計算された数字はそのまま残るようにするにはどうしたら良いでしょうか? 無理なのかな? 教えて下さい。 A3以降A列には毎日の日付を入力してあります。    

  • Excelの表示形式について

    <例> セルA1に『2/10』と入力する→Enterで確定すると『2月10日』と表示される→セルA1をDeleteで削除→セルA1に『2』と入力すると『1月2日』と表示される。 Excelの特徴で、自動的に表示形式が日付に変わってしまうものだと思いますが、コレを初期設定の段階で常に表示形式を標準にする方法はありますか? たとえば 『2/10』と入力したら『2/10』とそのまま表示したい。 『2/10』と入力して日付扱いになっていたセルに、あとから数値として入力する必要が発生した。 などの場合、不便です。 よろしくご回答のほどお願いいたします。 (バージョンは2002または2003)

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

    エクセルの関数で悩んでいます。 やろうとしていることは、たとえばA1のセルに日付(年月日)を入力すれば、入力した月だけを判断してその月の掃除当番の名前がセルB1に表示されるようにしたいのです。 1月から12月までの掃除当番は決まってますので、事前に別のセルに表を作成(たとえばH1~H12には1月、2月・・・・12月と入力し、I1~I12にはそれぞれの掃除当番名を入力して)し、VLOOKUP関数で呼び出せないかなぁと思っていたのですが、セルA1の日付(たとえば2006/8/27)から8月と判断する方法がわからないのです。 どなたかご存知でしたらご教授頂けないでしょうか。 他の関数を使用してする方法などでも結構です。 宜しくお願いいたします。

  • エクセル2000:“3-3”入力が3月3日に置き換わらせないためには?

     エクセル2000を使用しております。  3-3と入力し、enter keyを押すと3月3日になります。この設定を解除して3-3と表示させるのにはどうしたらよいでしょう。  3月3日となった後にセルの書式設定で日付→標準にするとサンプルに表示されている38445という数字に代わり、再度3-3と入力するとまた、3月3日になり、設定を見ると日付に変わっています。  -をーに変えると問題ないのですがやはり、-は-と入力したいです。

専門家に質問してみよう