Excel97を使っています。
以下のような数式をご存知の方がいらしたら、教えてください。

・入力した数値の2倍の数値を同一セルに返す数式

よろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

エクセルマクロを使えばよいのでは?


関数では先の回答のようにどうしようもありません。
シートにボタンを貼って、ボタンを押すたびにセルの値をどうにでもできます。
マクロについてはヘルプを参照されたし。
    • good
    • 0
この回答へのお礼

ご解答ありがとうございました。やはりマクロを使わないと無理なのですね。
マクロの参照もつけていただき、ありがとうございました。参照してみます。

お礼日時:2001/01/15 13:26

入力したセルと表示するセルが同じでは、循環参照になりますので、そのようなことはできません。

    • good
    • 0
この回答へのお礼

数式ではできないようですね。
マクロを参照してみようと思います。
ご解答ありがとうございました。

お礼日時:2001/01/15 13:31

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

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

Aベストアンサー

書式>条件付き書式

セルの値が 次の値より小さい を選択
値は$B1とし、書式を設定。
設定したセルをコピーすればできませんか?

Qエクセル2010でセルに数式を入力してセルにその数式を表示させたいので

エクセル2010でセルに数式を入力してセルにその数式を表示させたいのですが
コピペで値だけができなく、どのように表示させればよいのか解りません
解る方お願いします

Aベストアンサー

これのことでしょうか?

Ctrl + Shift + アクセント記号 (`)  数式と計算結果の表示を切り替える。

Qエクセルでセル内の特定数値を他セルの数値で置換

エクセルで下記のようなことを行いたいです。アドバイスお願い致します。

●処理前
A1⇒ 2151  B1⇒ RSS1234  C1⇒ RSS1234+RSX1234
A2⇒ 3412  B2⇒ RSS5678  C2⇒ RSS5678+RSX5678
A3⇒ 5486  B3⇒ RSS3456  C3⇒ RSS3456+RSX3456




●処理後要望
A1⇒ 2151  B1⇒ RSS2151  C1⇒ RSS2151+RSX2151
A2⇒ 3412  B2⇒ RSS3412  C2⇒ RSS3412+RSX3412
A3⇒ 5486  B3⇒ RSS5486  C3⇒ RSS5486+RSX5486



A列が空白になるまで上記置換が行われる。


となるようなVBAを作りたいのです。
アドバイスお願い致します。

Aベストアンサー

 置換をしたい範囲を選択しているシート上にあるC列~D列としますと、次の様なVBAマクロは如何でしょうか?


Sub Macro()

Dim SN As String
Dim LR As Long

SN = ActiveSheet.Name
ActiveSheet.Select
If Application.WorksheetFunction.Count(Columns("A:A")) = 0 Then Exit Sub
LR = Application.WorksheetFunction.Match(9E+307, Columns("A:A"))
Range("B1:D" & LR).Replace What:="=", Replacement:=" ="
Sheets.Add After:=Sheets(Sheets.Count)
Sheets(SN).Select
Sheets(Sheets.Count).Range("C1:D" & LR).FormulaR1C1 = _
"=SUBSTITUTE('" & SN & "'!RC,MID('" & SN & "'!RC2,MIN(" & _
"IF(ISNUMBER(FIND(0,'" & SN & "'!RC2)),FIND(0,'" & SN & "'!RC2),LEN('" & SN & "'!RC2)+1)," & _
"IF(ISNUMBER(FIND(1,'" & SN & "'!RC2)),FIND(1,'" & SN & "'!RC2),LEN('" & SN & "'!RC2)+1)," & _
"IF(ISNUMBER(FIND(2,'" & SN & "'!RC2)),FIND(2,'" & SN & "'!RC2),LEN('" & SN & "'!RC2)+1)," & _
"IF(ISNUMBER(FIND(3,'" & SN & "'!RC2)),FIND(3,'" & SN & "'!RC2),LEN('" & SN & "'!RC2)+1)," & _
"IF(ISNUMBER(FIND(4,'" & SN & "'!RC2)),FIND(4,'" & SN & "'!RC2),LEN('" & SN & "'!RC2)+1)," & _
"IF(ISNUMBER(FIND(5,'" & SN & "'!RC2)),FIND(5,'" & SN & "'!RC2),LEN('" & SN & "'!RC2)+1)," & _
"IF(ISNUMBER(FIND(6,'" & SN & "'!RC2)),FIND(6,'" & SN & "'!RC2),LEN('" & SN & "'!RC2)+1)," & _
"IF(ISNUMBER(FIND(7,'" & SN & "'!RC2)),FIND(7,'" & SN & "'!RC2),LEN('" & SN & "'!RC2)+1)," & _
"IF(ISNUMBER(FIND(8,'" & SN & "'!RC2)),FIND(8,'" & SN & "'!RC2),LEN('" & SN & "'!RC2)+1)," & _
"IF(ISNUMBER(FIND(9,'" & SN & "'!RC2)),FIND(9,'" & SN & "'!RC2),LEN('" & SN & "'!RC2)+1)" & _
"),4),'" & SN & "'!RC1)"
Sheets(SN).Range("C1:D" & LR).Value = Sheets(Sheets.Count).Range("C1:D" & LR).Value
Application.DisplayAlerts = False
Sheets(Sheets.Count).Delete
Application.DisplayAlerts = True
Range("B1:D" & LR).Replace What:=" =", Replacement:="="

End Sub

 尚、上記のマクロは、あくまで

>⇒B列には、必ず数値が含まれております。
>置換をしたい範囲のセル(D列までとすれば、B~D列)には、VBが走る前の初期状態ではいずれも必ず同じ4桁の数値が含まれている状態に致します。

という条件が満たされている場合においてのみ有効なマクロです。
 もしB列に入力されている文字列が、例えば

R2S1234

等の様に4桁ではない数字(この場合は「2」)が、4桁の数字よりも前の部分に含まれているものであった場合には、正しい結果を得られませんので注意して下さい。

 置換をしたい範囲を選択しているシート上にあるC列~D列としますと、次の様なVBAマクロは如何でしょうか?


Sub Macro()

Dim SN As String
Dim LR As Long

SN = ActiveSheet.Name
ActiveSheet.Select
If Application.WorksheetFunction.Count(Columns("A:A")) = 0 Then Exit Sub
LR = Application.WorksheetFunction.Match(9E+307, Columns("A:A"))
Range("B1:D" & LR).Replace What:="=", Replacement:=" ="
Sheets.Add After:=Sheets(Sheets.Count)
Sheets(SN).S...続きを読む

QExcel 97でタイム計算の数式をセルに入力したい

当サイトから借用していろいろ試してみたのですが
下記のような労働状態があり、
最終的に月締めで実労時間が
『 7.5h*出勤日数分+10h 』以上あればよい。
数式は各条件別にセルを使用するか?
(ひとつのセルで出来ればカッコはいいですが)
1.休憩(あり、なし)
2.休憩時間(0, 0.5h, 1h):3種類
3.拘束時間(8.5h)途中終業あり
4.実労時間(7.5H)途中終業あり
5.就業時間 Am8:00-PM10:00
A1=月日、B1=曜日、
C1=始業時間、D1=:、E1=分、
F1=終業時間、G1=:、H1=分、
I1=休憩時間、
J1=実労時間、
K1=以降が条件別になります
現在借用の数式は
セルJ1=IF(F1-C1+(H1-E1)/60>8.5,
F1-C1+(H1-E1)/60-I1)→基本就業時間から
休憩時間を引いた時間?
セルK1=IF(F1-C1+(H1-E1)/60<7.5,0,0,F1-C1+(H1-E1)/60-8.5)→休憩をとり拘束時間をこえた時間外?と勝手に判断し数式をいじってみたのですが×でした
(,0,0)部分で何か細工ができてそうですが
勉強不足で実体が解っていないものですから
面倒でも注釈を付けて下されば感謝します
使用機種:現場 OS WinNT4.0、Excel97
    : 家 OS Win98、Excel2000 以上
暇なときでよろしいので退屈しのぎに
ご教授のほどよろしくお願いします。
なをファイル移動は2HDのFDのみ

当サイトから借用していろいろ試してみたのですが
下記のような労働状態があり、
最終的に月締めで実労時間が
『 7.5h*出勤日数分+10h 』以上あればよい。
数式は各条件別にセルを使用するか?
(ひとつのセルで出来ればカッコはいいですが)
1.休憩(あり、なし)
2.休憩時間(0, 0.5h, 1h):3種類
3.拘束時間(8.5h)途中終業あり
4.実労時間(7.5H)途中終業あり
5.就業時間 Am8:00-PM10:00
A1=月日、B1=曜日、
C1=始業時間、D1=:、E1=分、
F1=終業時間、G1=:、H1=分、
I1=...続きを読む

Aベストアンサー

#1のです。

基本的にIF文の使い方が違っています。
「IF(条件式,真の時の処理,偽の時の処理)」
になりますので、セルJ1の文は偽の処理が有りません。
また、セルK1の文は多すぎます。

あと、質問の内容が判りにくいです。どういう条件で時間が決定されるのかを数式ではなく言葉で説明して下さい。

Q最下行にある数値または文字列を返す数式で困っています

   A   B
1  10   (=" ")
2  ×   (=" ")
3  17   (=" ")
4  28
5  ×
6  (=B1)
7  (=B2)
8  (=B3)

のように、A列に数値や文字列が入力されています。
A6以降は他のセルに入力されたものがこれから入力されます。
(A6以降は、見た目は空欄です)

A列で数値であろうと文字列であろうと、とにかく見た目の最下行のセル
に入力されている数値または文字列を返すにはどういう数式を使えば良いでしょうか?
(上の例では、A5の×を返したいのです)

=INDEX(A:A,
MAX(
IF(COUNTIF(A:A,"*"),MATCH("",A:A,-1)),
IF(COUNT(A:A),MATCH(MAX(A:A)+1,A:A,1))))
では、A8(見た目は空欄)が返ってきてしまいますし、

=LOOKUP(10^5,I:I)
では、A4の28が返ってきてしまいます。

どなたかご教授ください。
よろしくお願いします。

Aベストアンサー

=INDEX(A1:A65535,MAX(IF(TRIM(A1:A65535)<>"",ROW(A1:A65535))),1)

但し、配列を使っているのでセルの確定は Enterキーではなく、
Ctrl+Shift+Enterキーで確定します。
配列は、列全体では、エラーになってしまうので
A1:A65535にしました。 


人気Q&Aランキング

おすすめ情報