グッドデザイン賞を受賞したウォーターサーバー >>

エクセルで数式の答えを数値をして参照することはできますか?

A 回答 (6件)

普通は、関数の結果が数値の場合、参照する時も数値ですよね?



でも、例えば

B1セル=IF(A1="","0","1")

などと""でくくってしまうと、結果の1や0は文字列になります。

=IF(A1="",0,1)

とすると、1や0は数値扱いになります。

こういう事では?
    • good
    • 4
この回答へのお礼

こういう事です!
解決しました。
ありがとうございました。

お礼日時:2010/11/29 21:50

>エクセルで数式の答えを数値をして参照することはできますか?



質問の意味が良くわかりません。

計算式の結果が「数値」なら、「=参照元のセル」のような数式で単純にそのセルを参照すればよいと思うのですが・・・

もし、ご質問の趣旨が違うなら、実際の数式例などを提示して、もう少し具体的にご希望の操作を例示してください。
    • good
    • 1
この回答へのお礼

うまく説明できなくて申し訳ありません。
計算式がif関数で結果が文字列扱いになっていたせいで
思うように参照できていなかったようです。
ありがとうございました。

お礼日時:2010/11/29 21:49

 


サイトの調子が悪いようですね。
小さな画像ですが、
http://pupld.net/07/101128/kjmthvarzk/index.cgi
ここから見てください。
 
    • good
    • 0
この回答へのお礼

何度もありがとうございます。

お礼日時:2010/11/29 21:47

 


画像を再掲します
 
「エクセルで数式の答えを数値として参照した」の回答画像3
    • good
    • 0
この回答へのお礼

ありがとうございます。

お礼日時:2010/11/29 21:46

 


それが出来るのがExcelの値打ちです。
2行目に1行目の式を書きましたが、式の値を利用してるのがわかると思います。
 
「エクセルで数式の答えを数値として参照した」の回答画像2

この回答への補足

すみません、「webページが見つかりません」と出ていて
肝心の部分が見えません。
URLを教えていただけますか?

補足日時:2010/11/28 22:11
    • good
    • 0
この回答へのお礼

ありがとうございます。
今日は画像が見えます。
私が探していた方法とは少し違いますが、
今後の参考にさせていただきます。

お礼日時:2010/11/29 21:46

例えばA3に数式の答えが入っているとして、「=A3」とすれば


値が表示されます。

あとは、コピー。「形式を選択して貼り付け」で「値」にすれば
単なる値になります。
    • good
    • 1
この回答へのお礼

ありがとうございます。
その方法は存じているのですが、
コピーなしで、ダイレクトに値を参照する方法を探しています。

お礼日時:2010/11/28 22:09

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QExcel 関数返り値を「値」に

Excel の関数の返り値そのものを数値に置き換える関数はないのでしょうか。

たとえば、=VLOOKUP()でみているセル値をそのまま「値」に置き換える。
     (LOOKUPの対象が変わっても、前の値を保持するため)など

関数がドグサければマクロでも。

教えて下さい。よろしくお願いします。

Aベストアンサー

>数値に置き換える関数はないのでしょうか
ありません。

そのセルをコピーして、「編集」→「形式を選択して貼り付け」→「値」で式ではなく値に変換することは可能です。
それをマクロにすると以下のようになります
Sub Macro2()
 Selection.Copy
 Selection.PasteSpecial Paste:=xlPasteValues
 Application.CutCopyMode = False
End Sub

私もこのマクロの貼り付け部分だけのマクロをショートカットキーに割り付けて使用していますが、結構重宝します。
またマクロでVLOOKUP関数相当の処理を行って、セルに値を書き込むことも可能ですが、質問内容だけではマクロにできません。

ところで「ドグサければ」って何でしょう

Qエクセルで関数計算後の値を数字として認識させる方法を教えて下さい

エクセルで関数計算後の値をクリックすると計算式(関数)がエクセルの上の欄に表示されると思いますが、クリックした際にこれを計算式ではなく数字として認識させるにはどうしたらよいのでしょうか。

Windows Xpです

Aベストアンサー

計算結果を範囲指定をし、コピーをして、メニューバーの編集→形式を選択して貼り付け→値を選択して、貼り付ければOKだと思います。

QエクセルのIF関数で、文字が入力されていたならば~

エクセルのIF関数で文字が入力されていたならば~、という論理式を組み立てたいと思っています。

=IF(A1="『どんな文字でも』","",+B1-C1)

A1セルに『どんな文字でも』入っていたならば、空白に。
文字が入っていなければB1セルからC1セルを引く、という状態です。

この『どんな文字でも』の部分に何を入れればいいのか教えてください。

またIF関数以外でも同様のことができれば構いません。

宜しくお願いします。

Aベストアンサー

=IF(ISTEXT(A1),"",B1-C1)

でどうでしょうか?

Q【EXCEL】関数で計算された数字を、関数を外して"文字”として表示するには?

EXCELの関数で計算され表示されている数字を、別のセルに数字を文字として、関数を外して表示したいのですが、どうすればいいか教えてください。(理由)データの並べ替えをしたいのですが、関数が残っているとそのままでは正しく並べ替えができないためです。どうかよろしくお願いいたします。

Aベストアンサー

Excelのバージョンが古いとできないかもしれませんが。

関数の結果の内容を右クリック[コピー]して
貼り付けたい所で、右クリックして[形式を選択して貼り付け]を選択して、選択したら、どのような設定で貼り付けるのか聞いてくるので[値]を選択したら、関数ではなく、数値で貼り付けられます。
それを文字にするのであれば、さらに右クリックして[セルの書式設定]にて[分類]を[文字列]にすればできると思います。

参考までに

Qエクセルの関数で,たとえばB15のセルの値を返すには?

エクセルの関数の質問です。

たとえば,
A1のセルに7
A2のセルに8
が入力されているとします。

ここで,少し回りくどいのですが,
A1(の7)と,A2(の8)と,関数などを使って,
あるセルに,B15のセルの値を返したいのですが,
可能でしょうか?

間違ってますが,
=B(A1+A2)
のような式を書きたいのですが…。


あっさりと,
=B15
とすればいいのはわかっていますが,
やむえない事情がありまして…。

よろしくお願いします。

Aベストアンサー

=INDIRECT("B"&A1+A2)
で良いと思います。

Qエクセルで、条件に一致した行を別のセルに抜き出す方法

エクセルで、指定した条件に一致するセルを含む行をすべて抜き出す方法が知りたいです。

たとえば、

<A列> <B列> <C列>
7/1 りんご 100円
7/2 ぶどう 200円
7/2 すいか 300円
7/3 みかん 100円

このような表があって、100円を含む行をそのままの形で、
別のセル(同じシート内)に抜き出したいのですが。

7/1 りんご 100円
7/3 みかん 100円

抽出するだけならオートフィルターでもできますが、
抽出結果を自動的に、別の場所に、常に表示させておきたいのです。

初歩的な質問だと思いますが、検索しても分からなかったので、よろしくお願いします。

Aベストアンサー

同じ質問が結構よく出てますが、そんなに初歩的でもありません
別シートのA1セルに「100円」と入力し、そのシートの任意のセルに以下の式を貼り付けて下さい。後は、下方向、右方向にコピー。
日付のセル書式は「日付」形式に再設定してください

=IF(COUNTIF(Sheet1!$C:$C,$A$1)>=ROW(A1),INDEX(Sheet1!A:A,LARGE(INDEX((Sheet1!$C$1:$C$500=$A$1)*ROW(Sheet1!$C$1:$C$500),),COUNTIF(Sheet1!$C:$C,$A$1)-ROW(A1)+1)),"")

データ範囲は500行までとしていますが、必要に応じて変更して下さい

Qエクセルで条件に一致したセルの隣のセルを取得したい

下のような「得点」という名前のシートがあります。
(「田中」のセルがA1です。)

 [ 田中 ][ 10 ][ 200 ]
 [ 山田 ][ 21 ][ 150 ]
 [ 佐藤 ][ 76 ][ 250 ]
 [ 鈴木 ][ 53 ][ 350 ]

別のシートのA1セルに、「佐藤」と入力すると、

 [ 佐藤 ]

「得点」シートから「佐藤」の列を見つけて、B1、C1に

 [ 佐藤 ][ 76 ][ 250 ]

のように表示させたいのですが、B1、C1にはどのような式を書けば良いのでしょうか。
「得点」シートでは氏名が重複する事はありません。
IF文を使うと思うのですが、いまいち良く分かりませんでした。

よろしくおねがい致します。

Aベストアンサー

こんにちは!
VLOOKUP関数で対応できます。
IF関数と併用すればエラー処理が可能です。

Excel2007以降のバージョンであれば
B1セルに
=IFERROR(VLOOKUP($A1,得点!$A:$C,COLUMN(B1),0),"")
としてC1セルまでオートフィルでコピー!
そのまま下へコピーすると行が2行目以降でも対応できます。

Excel2003までの場合は
=IF($A1="","",VLOOKUP($A1,得点!$A:$C,COLUMN(B1),0))

としてみてください、m(_ _)m

Qある範囲のセルから任意の値を検索して、その隣のセルの値を取得するという関数はありますか?

Excelの関数について質問します。
ある範囲のせるを検索して、その隣のセルの値を取得するという関数を探しています。
なければユーザー定義で作りたいと思っています。
VLOOKUP関数では一番左端が検索されますが、
それをある範囲まで拡張して、
その右隣の値を取得できるようにしたいのです。
どうかお知恵をお貸しください。

Aベストアンサー

●X1セルの値を範囲A1:F200の中から探して、その右隣のセルの値を返す

 =OFFSET(A1,SUMPRODUCT(ROW(A1:F200)*(A1:F200=X1))-1,SUMPRODUCT(COLUMN(A1:F200)*(A1:F200=X1)))

※最初のA1はワークシートの左上隅を示すものなので、検索範囲に関わらずA1固定
※SUMPRODUCT(ROW(A1:F200)*(A1:F200=X1)) ⇒ A1:F200で値がX1と一致するセルの行番号

>その「ある範囲」の中には検索したい値が入っているセルは1つしかありません。
というのが前提です。複数のセルがHITすると関係ないセルの値が返るので、
場合によっては、IFをかぶせてCOUNTIFで確認した方が良いかもしれません。
 ex. =IF(COUNTIF(A1:F200,X1)=1,【上記数式】,"えらー")

ちなみに、VBAでやるならこんな感じになるかと。

動作の概要
 【検査範囲】から【検査値】を探し、
 最初にHITしたセルについて、右隣のセルの値を返す。
 ex. =Sample(X1,A1:F200)

'--------------------------↓ココカラ↓--------------------------
Function Sample(ByVal 検査値 As Variant,ByVal 検査範囲 As Range)
 For Each セル In 検査範囲
  If セル = 検査値 Then Exit For
 Next セル
 Sample = セル.Offset(0, 1)
End Function
'--------------------------↑ココマデ↑--------------------------

いずれもExcel2003で動作確認済。
以上ご参考まで。

●X1セルの値を範囲A1:F200の中から探して、その右隣のセルの値を返す

 =OFFSET(A1,SUMPRODUCT(ROW(A1:F200)*(A1:F200=X1))-1,SUMPRODUCT(COLUMN(A1:F200)*(A1:F200=X1)))

※最初のA1はワークシートの左上隅を示すものなので、検索範囲に関わらずA1固定
※SUMPRODUCT(ROW(A1:F200)*(A1:F200=X1)) ⇒ A1:F200で値がX1と一致するセルの行番号

>その「ある範囲」の中には検索したい値が入っているセルは1つしかありません。
というのが前提です。複数のセルがHITすると関係ないセルの値が返るので、
場...続きを読む

Qエクセルで打ち込んだ数字を自動で別シートに表示したい

エクセルでセルに打ち込んだ数字を自動で別シートに表示できる方法があれば、教えてください。

例えば、シート1のC1に5を打ち込んだら、シート2のD2にシート1で打ち込んだ5が自動で表示される。

また1列すべてを自動で表示させる場合、一つのセルの時と違いがありましたら教えてください。よろしくお願いします。

Aベストアンサー

こんばんは。
入力したセルの値を合計とかでなくて、
純粋に別のシートに自動的に表示したいのであれば、
以下の方法があります。

1.1つのセルだけの場合
例)シート1のC1に5を打ち込んだら、
  シート2のD2にシート1で打ち込んだ5が自動で表示される

⇒シート2のD2のセルをアクティブにして「=」を入力
 した後、シート1のC1をクリックする。
 そうするとD2のセルに「=Sheet1!C1」と表示され、値が自動的に
 表示されるようになります。

2.1列全てコピーしたい場合。
  コピー&リンク貼り付けを使うと便利です。

例)例)シート1のC1~C5に何かを入力したら、
  シート2のD2~D7にシート1で打ち込んだものが自動で表示される

  シート1にあるコピー元のセルを範囲選択して、
  シート2のD2の上で「右クリック」⇒「形式を選択して貼り付け」
  をクリックします。

  そして出てきた小さな画面の左下にある「リンク貼り付け」という
  ボタンをクリックすると完成です。
  試してみてください。。

  念のためにリンク貼り付けを図解しているURLを載せておきます。
  参考にしてみてくださいね。。
  http://www.geocities.jp/office_inoue/excel/eq21.htm

こんばんは。
入力したセルの値を合計とかでなくて、
純粋に別のシートに自動的に表示したいのであれば、
以下の方法があります。

1.1つのセルだけの場合
例)シート1のC1に5を打ち込んだら、
  シート2のD2にシート1で打ち込んだ5が自動で表示される

⇒シート2のD2のセルをアクティブにして「=」を入力
 した後、シート1のC1をクリックする。
 そうするとD2のセルに「=Sheet1!C1」と表示され、値が自動的に
 表示されるようになります。

2.1列全てコピーしたい場合。
  コ...続きを読む

Qエクセルで数式の結果が反映されない(自動計算になっているのに)

すいません、教えてください。

エクセル(XP)で数式が自動計算されなくなって
しまいました。

  ※ツールのオプションはちゃんと自動計算に
   なっているのに全く反映されません。

今まで全く問題なく作業できていたので
原因が分からず困っています。

数式等のエラーだとは考えにくいです。
と言うのも数式のあるセルをダブルクリックして
選択し、そのままEnterキーを押すと計算結果が
反映されます。
ただ、今まで全て自動計算されていたのが
全く動かなくなってしまったんです。

同じようなトラブルを経験された方、又は
詳しい方、どうかよろしくお願いします。

Aベストアンサー

原因は分からずじまいになってしまいましたが
同じことがありました。

「Officeの救急隊」を試してみましょう。
ボタン一発で全ての設定が元に戻ります。
http://www.vector.co.jp/soft/win95/util/se247118.html
(ツールバーなども初期状態に戻ります)

私の場合はコレで直ってしまいました^^

参考URL:http://www.vector.co.jp/soft/win95/util/se247118.html


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング