プロが教える店舗&オフィスのセキュリティ対策術

例として
C1に任意の値が入力されろとします
それをD1で参照して
その値に従ってE1の値に変化を与えたい

そんな感じなのですが
参照は相対参照とか出来るのは判るのですが
書き込み方が判らないのです

宜しくお願いします

A 回答 (8件)

ANo.6です。


すいません、一部訂正します。
「ワークシートの他のセルの『値』を書き換えるような関数」存在しました。

SQL.REQUEST()関数は、他のデータベース等から値を取得してパラメータで
与えたセルに貼り付ける関数です。

正確に言うとアドインで組み込まれるものですが、標準で提供されるアドインです(XLODBC.xla)。
ODBC経由でデータを取得して別のセルに値を貼り付ける訳ですからデータ
ソースを自ブックにしてそこから値を持ってきて貼り付ける事は不可能では
ないかもしれません。
私だったら、絶対やりませんが。
    • good
    • 3
この回答へのお礼

ご回答感謝します

おぉ~ぉ  凄い !!   (*▽*)キラ~ン
100人中100人、誰もが無いというものの存在を知っているなんて
エキスパート中のエキスパートですね
お見逸れしました      <(_ _)>

でも
エクセル2003環境でアドオンものは全て入れたつもりなのですが
お示し頂いた関数を認識しませんでした (T_T)
何故?

お礼日時:2006/10/21 20:26

#1 Cupperです。


質問の意図は分かりました。
改めて回答します。

 【不可能です】
Excelにはマクロを使わず、まったく何も定義されていないセルに書き込みを行なう機能はありません。
    • good
    • 0
この回答へのお礼

お心をお砕き頂けたことに感謝します

お礼日時:2006/10/21 20:47

Excel組込みのワークシート関数の中で他セルの「値」を書き換える関数は


私の知る限り存在しないと思います。
どうしても関数のイメージで実現させたいのであれば、ご希望の機能を
満たすユーザー定義関数をVBA等で作成し、個人用マクロブックもしくは
アドインとして組み込むしかないでしょうね。

>昨今とみに企業内でのマクロの安全性が問われる中
>おいそれとはシートにマクロを配せないという背景もあり
マクロウイルスの事を指すのでしょうが、正しい手順を踏んで作成し
社内的にも有用なものであれば、問題になるとは思えませんが。
事実、私の職場では、個人的に必要な機能は各自の個人用マクロブックに
組み込んで使用し、また、多くの人にとって有用な機能はアドインとして
使用しています。
    • good
    • 1
この回答へのお礼

ご回答に感謝します

内なんてマクロを見つけただけで出所も内容も確かめず… (T_T)
良い環境・理解のあるいい上司に恵まれたご様子
うらやましく思います

お礼日時:2006/10/21 20:18

>質問内容は正に他セルへの「値書き込み」なので


>ご回答が180度違う方向を向いているようですが
>とはいえお心遣いには感謝します
ああ、なるほど、そういうご質問でしたか。

関数の概念もおぼつかない、相対参照程度しかわからない超初心者の型の質問かと思い、このような解答をさせていただきました。
相対参照というのはOFFSET関数によるものですね。

よくご自分の知識レベルと質問内容が伝わるように、再度別に質問を投稿されるとよろしいかと思います。
「マクロやVBAを使わずにセルの値を書き換えることは可能ですか?」
とか。
    • good
    • 0
この回答へのお礼

お心をお砕き頂けたことに感謝します

お礼日時:2006/10/21 20:47

まずやりたいことを整理して、実際の手順を書き出して再質問された方がいいでしょう。


下記は、一例です
C1=商品コード
D1=商品単価(税抜)
E1=消費税
F1:G100に商品コードと単価の表があるとして、
「商品コードで単価を呼び出して消費税を計算するには?」
D1=IF(ISNA(VLOOKUP(C1,$F$1:$G$100,2,FALSE)),"該当なし",VLOOKUP(C1,$F$1:$G$100,2,FALSE))
E1=IF(D1="該当なし","",INT(D1*0.05))
    • good
    • 0
この回答へのお礼

質問内容は正に他セルへの「値書き込み」なので
ご回答が180度違う方向を向いているようですが
とはいえお心遣いには感謝します

お礼日時:2006/10/19 20:15

あと考えられるのはIF関数でしょうか



C1に100(円)、D1は =C1*1.05 (税込み金額)として、E1が10,000円以上なら10%割り引くなら、E1の式は
=IF(D1>=10000,D1*0.9,D1)

また10,000円以上買った客に印を付けるなら
=IF(D1>=10000,"○","")
    • good
    • 1

「関数で他のセルの値を書き変える」という事はできません。


代わりに、
「他のセルの値を見て、関数や計算式で自分の値を決める」ということはできます。

「他のセルの値を変える」
というよりも、
「そのセルが自分で勝手に値が変わる」
という考え方で良いんじゃないでしょうか。


>C1に任意の値が入力されるとします
>それをD1で参照して
>その値に従ってE1の値に変化を与えたい
なんのための処理かよく解らないので、答えに苦しむのですが・・・
適当に処理をでっち上げますとこんな具合でしょうか。
C1:123.45
D1:=C1
E1:=int(D1)
これで、C1に入れた値をそのままD1に持ってきて、それをまたE1で小数点以下切り捨てで表示します。

こんな感じでしょうか?
    • good
    • 1
この回答へのお礼

ご回答有難う御座います

昨今とみに企業内でのマクロの安全性が問われる中
おいそれとはシートにマクロを配せないという背景もあり

D1に配した関数により
E1に対し「値書き込み」をして
値を変更すると言うことが可能となれば
書き込み先など何とでも変更可能なわけですから

特段ピボットテーブルなど使ったり、特別な設定を行わなくとも
例えば
時間系の刻一刻と変化する関数のスナップショットが取れたり
関数の参照元の値が変更されて行く過程の
改変歴的な物が残せたりと
エクセルで出来る幅が広がると
淡い期待を抱いた次第です

お礼日時:2006/10/19 20:52

数式で変えられます



例えば
E1セルに次の計算式を入力します
 =C1*D1
これで掛け算の結果が返ります
 =C1+D1
これで足し算の結果が返ります
その他、関数を使用することで変化を与えることができます。
 =SQRT(C1+D1)
でC1とD1の和の平方根が返ります
    • good
    • 0
この回答へのお礼

質問内容は正に他セルへの「値書き込み」なので
ご回答が180度違う方向を向いているようですが
とはいえお心遣いには感謝します

お礼日時:2006/10/19 20:17

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

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


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