[[20120902001610]] 『空白の時』(かなこ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『空白の時』(かなこ)
組み合わせられませんか?
=IF(ISNA(VLOOKUP(A14,シフト!$I$2:$O$153,6,FALSE)),"",VLOOKUP(A14,シフト!$I$2:$O$153,6,FALSE))
A14が空白の時にA14に休みと表示でけませんか?
教えてもらえませんか?

 IF をもう一つ使ってあげればよいと思いますけれど、
 =IF(A14="","休み",今の式)
 としてどうでしょうか。
 (Mook)

=IF(A14="","休み",今の式)
この式に=IF(ISNA(VLOOKUP(A14,シフト!$I$2:$O$153,6,FALSE)),"",VLOOKUP(A14,シフト!$I$2:$O$153,6,FALSE))
をどうに組んだらいいのでしょうか?(かなこ)

 起きたばかりであたまがぼんやりしてるんだけど・・

 この式は、A14以外のところに書いてあるんだよね?
 で、「休み」と表示したいのは、A14なんだよねぇ・・・・・。

 関数式では、別のセルに値を書き込むことはできないのでは?
 だから、残念だけど、組み込めない・・・・・

 (ぶらっと)

=IF(A14="","休み",今の式)
この式に=IF(ISNA(VLOOKUP(A14,シフト!$I$2:$O$153,6,FALSE)),"",VLOOKUP(A14,シフト!$I$2:$O$153,6,FALSE))

=IF(A14="","休み",IF(ISNA(VLOOKUP(A14,レジシフト編集!$I$2:$O$153,6,FALSE)),"",VLOOKUP(A14,レジシフト編集!$I$2:$O$153,6,FALSE)))
何もおこりません?ダメと言う事なんですか〜ぁ
(かなこ)


 >何もおこりません? 

 う〜ん・・ 上でコメント入れてるけど、この式は、どこに書いてあるのかな?

 仮に、A1 に書いてあったとしよう。で、A14が空白だったとしよう。
 そうすると、A14 ではなく 式が書いてある A1 に "休み" と入っていない?

 >ダメと言う事なんですか〜ぁ 

 そうだね。A14 に"休み" と書き込むこと自体が無理。(と、上でコメントしたけど?)

 (ぶらっと)

 なので、A14 を、どうこうするのはあきらめて(?)

 「A14以外のところ」に =IF(A14="","休み",A14)
 で、今の式を
 =IF(ISNA(VLOOKUP(A14以外のところ,シフト!$I$2:$O$153,6,FALSE)),"",VLOOKUP(A14以外のところ,シフト!$I$2:$O$153,6,FALSE))

 こうするか、それもいやならVBA。

 A14 に何か入れたとき、それが空白ならA14を"休み"にし、A14の値でVLOOKUPするなら。
 (例:VLOOKUPが入っているセルが A1 だとして)

 シートモジュール(シートタブを右クリック、コードの表示を選んででてくるところ)に以下を貼り付け。

 Private Sub Worksheet_Change(ByVal Target As Range)
    Dim ans As Variant

    If Target.Address(False, False) <> "A14" Then Exit Sub

    Application.EnableEvents = False

    If IsEmpty(Range("A14").Value) Then
        Range("A14").Value = "休み"
    End If

    ans = Application.VLookup(Range("A14").Value, Sheets("シフト").Range("I2:O153"), 6, False)
    If IsError(ans) Then
        Range("A1").ClearContents   '★ 実際のセルに変更
    Else
        Range("A1").Value = ans     '★ 実際のセルに変更
    End If

    Application.EnableEvents = True

 End Sub

 (ぶらっと)

 あっ、そういうことだったんですね。
 夜遅かったので(いいわけ)、勘違いしていました。

 空のセルに表示するってことはできませんから、A14 で素直に「休み」って入れたら
 ダメでしょうか。

 あるいはひと手間ですけれど、選択した範囲の空白に全部休みって入れたいのであれば、
 マクロの記録をとったものをちょっと加工しただけですけれど、
 Sub Sample()
    If WorksheetFunction.CountBlank(Selection) = 0 Then Exit Sub
    Selection.SpecialCells(xlCellTypeBlanks).Select
    Selection.Replace What:="", Replacement:="休み"
 End Sub

 のようなものも出来そうです。

 Selection は Range("A14:A20") のようにしておくと、決めた範囲を毎回処理する
 こともできます。
 Sub Sample2()
    If WorksheetFunction.CountBlank(Range("A14:A20")) = 0 Then Exit Sub
    Range("A14:A20").SpecialCells(xlCellTypeBlanks).Select
    Selection.Replace What:="", Replacement:="休み"
 End Sub
 (Mook)

A14は空白のままだけど、これじゃだめですか(マナ)

 =IF(A14="",VLOOKUP("休み",シフト!$I$2:$O$153,6,FALSE),今の式)

みかけの表示でも良いなら(マナ)

 1)どこかに、こっそり、例えばA100に、=IF(A14="","休み","")と入力
 2)隠しておきたいなら、文字色を白または行ごと非表示
 3)透明なテキストボックスを、A14セルの上に作成
 4)テキストボックスに数式を=A100と入力

 テキストボックスを間違って削除してしまいそうなのが問題ですが。
 シート保護できればいいんだけど。

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.