[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『特定の値が入力されているセルの隣のセルに数式を入れたい』(MUMU)
困っています(T T) 教えてください。
Q1.表1のAの値が"BBBBB"の値だった場合その隣のセルに数式を入れたい。
表1
A B 1 AAAAA 2 AAAAA 3 BBBBB 数式 4 AAAAA 5 BBBBB 数式
よろしく御願いします。
B列に全て数式を入れて、BBBBB の場合だけ有効にするのではダメですか? B3-B5までB2をコピー&ペースト (ぱっくん)
こんにちは 衝突☆彡しましたがそのまま 表示だけの問題ならば ぱっくん さんの方法でA列が「BBBBB」以外のときはB列は空白になりますが 実際には数式が入ってます。
A列が「BBBBB」以外のときはB列に数式を入れたくないというのであれば マクロになると思いますので、他の方の回答をお待ちください。 (oni)
>B列には、全て数式を入れます。その後、「BBBBB」に対応する数式を入れようと 考えております。 ということなら、マクロでなくても B2=IF(A2="BBBBB",数式,BBBBB以外の時の数式) でもいいような? (oni)
(oni)さんありがとうございます。 初歩的なことですが、「数式」のところに数式を入れましたが、文字として 認識されます。数式をいれるとエラー・ヘルプが出てきます。 お手数ですが、再度、ご教示頂きたく御願い致します。 (MUMU)
こんにちは >「数式」のところに数式を入れましたが、文字として 認識されます。数式をいれるとエラー・ヘルプが出てきます。 どのような、数式を入力してエラーが出たか、MUMUさん以外にはわかりませんので MUMUさんが入力された数式とどんなエラーが出たかを掲示いただくと 的確な回答が得られると思います。 (oni)
=IF(Y10="−",=VLOOKUP(F6,INDIRECT(前シート&""!$F:$Z""),21,FALSE),=VLOOKUP(P6,INDIRECT(前シート&""!$P:$Z""),11,FALSE))
エラーメッセージ
「入力した数式にエラーがあります。」
度々もうしわけございませんが、よろしく御願いします。
(MUMU)
=IF(Y10="−",=VLOOKUP(F6,INDIRECT(前シート&""!$F:$Z""),21,FALSE),=VLOOKUP(P6,INDIRECT(前シート&""!$P:$Z""),11,FALSE)) ↑ ここの「=」はいりませんね! ↑ それと VLOOKUP(検索値,検索範囲,列番号,検索の型) 検索範囲はどこになりますか? INDIRECT(参照文字列,参照形式)ですので、このままでは範囲指定にならないと思います。 (oni)
=MID(INDEX(GET.WORKBOOK(1)&T(NOW()),GET.DOCUMENT(87)-1),FIND("]",INDEX(GET.WORKBOOK(1)&T(NOW()),GET.DOCUMENT(87)-1))+1,31)
=をとりましたが、同じ、エラーメッセージが出ます。
範囲が悪さしているのでしょうか?
(MUMU)
再度、B2の計算式について回答させてもらいます。 >=IF(Y10="−",=VLOOKUP(F6,INDIRECT・・・ の件を要約すると #行番号10と6は同じかな?で記述しました(Y10、F6、P6) A列が"BBBBB"の場合 Y列が"-"の場合 F列の内容で前シートのF列サーチし一致する行のZ列の値をセット Y列が"-"以外の場合 P列の内容で前シートのP列サーチし一致する行のZ列の値をセット A列が"BBBBB"以外の場合 空白 と言うことなら B2=IF(A2="BBBBB", IF(Y2="−", VLOOKUP(F2,INDIRECT("前シート&"!$F:$Z"),21,FALSE) , VLOOKUP(P2,INDIRECT("前シート&"!$P:$Z"),11,FALSE)) ,"") (ぱっくん)
「前シート」は名前定義でユーザー定義関数的に働き、シート名を返すので、 "で囲んでは機能しません。 [[20040716014000]] 『シート自体の相対参照』(たか) (みやほりん)
Range("Y2:Y500").SpecialCells(xlCellTypeConstants, xlTextValues) _ .Offset(, 1).Value = "IF(Y02="−",VLOOKUP(F2,INDIRECT(前シート&"! $F:$Z),21,FALSE),VLOOKUP(P2,INDIRECT(前シート&"!$P:$Z"),11,FALSE)),"")" (MUMU)
結局マクロのコードの話だったのね。 (1)セルに数式を直接入力する際には"="が必要ですね? コードにはそれがありません。 (2)「"」から「"」までが文字列として扱われます。Valueプロパティに 代入する段階で "IF(Y02=" − ",VLOOKUP(F2,INDIRECT(前シート&" !$F:$Z) ・・・ └┬─┘ ↑ └─────────┬───┘ └┬┘ 文字列の塊 マイナス記号? 文字列の塊 ??? となるので、「"」の使い方がまずい、と言うことになります。 続けて文字列にしたいのに、途中に数式で使っている「"」が入るので、 そこで「文字列の区切り」と認識してしまうのです。 マクロの記録でセルに=INDIRECT(前シート&"!$F$1")と入力する動作を 記録してみてください。「"」の使い方が参考になります。 (みやほりん)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.