[[20080104110108]] 『値をそのままで新たに数式を入力したいです』(AHNY) ページの最後に飛ぶ

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

 

 『値をそのままで新たに数式を入力したいです』(AHNY)

 もともと整数の値が入力されているセルに

 IF関数を使った数式を入力したいのですが

 全文検索を行いましたがどうしてもみつかりません。

 値を新たなセルにコピーし保存しておいて

 数式を設定して「形式を選択して貼り付け」で値だけをコピーすると…

 当たり前ですが、設定した数式が消え値のみのコピーになります

 初歩的な質問かと思いますがよろしくお願いいたします。


 ご希望の結果がどのような形なのかがわかりません…
 数式の結果が例え表示させたい整数と違っていようとも、見かけ上の表示は常に決まった整数にしておきたいというご要望なのでしょうか?
 セルの書式設定の表示形式をユーザー定義とし、種類のボックスに 33;33;33;"33" と入力、配置の横位置を右揃えとしてOKとすると、
何を入力しようが見かけは全て33になりますが…
(かなれっと)


 かなれっと様

 パソコンの調子が悪くレスが遅れてすみませんでした。

 私がやりたいことをうまく伝えられるかどうかわかりませんが、書いてみます。

 もともと同じシートが2枚あります。

 そこで、シート1のC5に数字の「2」が入力されたら、シート2のC5には何も入力できないようにしたいのです。

 その関数は=IF(Sheet1!C5=2,"―",IF(ISBLANK(Sheet1!C5),""))と入力しました。

 しかし・・・もともと、このシート2には点数(0〜100の整数)が入力されてあります。

 関数をあとから追加したので、もともと入力してある点数が消えてしまいます。

 コピーして値だけをとっておいてあるのですが…。

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


 よく解りませんが、シート1のC5が「2」以外の時、コピーしてあるセル値の値を表示したいのなら
 =IF(Sheet1!C5=2,"―",コピーしてあるセル) ですか?


 わかりにくくて本当にすみません。

 まず、シート1には2か空欄しかないです。(これは授業の単位数なのです。)

 シート2はもともとテストの点数が入力済みなのですが、シート1と重複して入力できないようにしたいです。

 シート1のC5に「2」とあれば、その授業はすでに習得済みなのでシート2の点数の欄は入力できないようにしたいのです。

 それで、前述のような関数を入力しました。そこにもともと入っていた点数を入力(上書き?)したいというわけです。

 よろしくお願いします。。。わかりにくいですよね、すみません。AHNY


 入力規則を利用して、入力の保護をするものです。
 しかし、このセルにコピー貼り付けされますと、設定が無効になります。

 Sheet2のC5を選択し、データ、入力規則、設定で入力値の種類にユーザー設定、
 その下の数式に=INDIRECT("Sheet1!C5")<>2と入力し、OKとしておきますと、
 Sheet1のC5に2を入力しますと、Sheet2のC5に再入力ができなくなります。 (6UP)

 6UP様

 ありがとうございます。私の説明不足で申し訳ありませんが、すでにC5には入力規則として「リスト」で「80」「70」「60」「50」が設定済みなのです。

 6UPさんの方法で私の期待している、シート1とのリンクは大丈夫でした。しかし、そうなると「リスト」が設定できなくなりますよね?重複して入力規則を設定することは可能でしょうか?
 
 さらにご質問なのですが、このC5以外に入力規則するセルがAV254まであるのですが、その際はすべて一つずつ=INDIRECT("Sheet1!セル番地")<>2の入力が必要でしょうか?

 いくつも質問して申し訳ありません。AHNY


  >重複して入力規則を設定することは可能でしょうか? 
 既にご確認のことと思います。

 >一つずつ=INDIRECT("Sheet1!セル番地")<>2の入力が必要でしょうか? 
 そうです。
 しかし、=INDIRECT("SHEET1!"&ADDRESS(ROW(),COLUMN()))<>2としますと、
 複製できるように思います。                        (6UP)

 6UP様
 ご返答ありがとうございます。

 @やはり重複はできないのですね・・・残念です。

 Aおかげさまで複製できました、感謝します。ありがとうございました!!

 皆様何かほかにいい方法がございましたらお教えください。よろしくお願いいたします。AHNY


 AZ列辺りに点数リスト(下図ご参照)を作ってから、入力規則「リスト」の「元の値」へ下式では?

 =IF(INDEX(INDIRECT("Sheet1!C5:AV254"),ROW(A1),COLUMN(A1))=2,C5,$AZ$1:$AZ$4)
 (※ 入力規則は、Sheet2のC5セルを先頭にして設定)
                                  ↑
                アクティブの意
 点数リスト(Sheet2)
  行   _AZ_  
   1    80  
   2    70  
   3    60  
   4    50  

 (半平太)


 半平太 様

 ご協力ありがとうございます。

 今、ご指導の通り入力しましたが・・・#VALUE!になります。私の設定がおかしいのですよね。。。

 ROWとCOLIMNのA1は何を意味しているのでしょうか?

 よろしくお願いいたします。AHNY


 >入力しましたが・・・#VALUE!になります。
 どこに表示されるのですか?

 ※ちょっと想定外なリアクションなので、面喰っています。
  私は、入力規則の「リスト」を設定する時、ダイアログに表示される「元の値」ボックス
  に入力する式を提示した積もりなのですが、、、どこに入力されたのでしょうか?

 >ROWとCOLIMNのA1は何を意味しているのでしょうか? 
 ROW(A1),COLUMN(A1) それぞれ唯の「1」です。しかし、C5セルからずれると2,3,4と自動的に
 変化してくれます。

 つまり、INDEX(INDIRECT("Sheet1!C5:AV254"),ROW(A1),COLUMN(A1))の意味は、
 入力規則を設定したセルが、
 C5であれば、Sheet1!C5:AV254 の1行目、1列目のセル→つまりSheet1のC5セルを参照します。
 D5であれば、Sheet1!C5:AV254 の1行目、2列目のセル→つまりSheet1のD5セルを参照します。

 (半平太)

 半平太 様

 こんにちは!!

 私の設定が間違っていたようです。ご指摘の通り、「元の値」ではなくセルに直接入力しておりました。

 お恥ずかしい…。
 
 半平太さんのわかりやすいご説明で、無事に解決されました!!本当にありがとうございます!!!!!!

 ■質問■

 追加の質問です。すみません。

 この条件に加えて、隣のセルにデータが入力された場合に入力できないようにしたいのですが、可能でしょうか?

 IF関数を足せばいいのでしょうか?

 例えば…選択科目のことなのですが、一つの科目を合格すればもう一つは受験できないので、そのブロックをかけたいのです。

 C5にデータ(80、70、60、50の整数です)が入力されたら、D5は入力できないようにしたいのです。同じくD5にデータが入力されたら、C5は入力できないようにしたいのです。

 これまでの「シート1のC5にデータが入力されたら、シート2のC5に入力できないようにする」ことに加えて、「シート2のC5にデータが入力されたらシート2のD5にデータを入力できないようにする」を加えたいのです。長々と申し訳ありません。

 ご指導よろしくお願いいたします。  AHNY


 不可解な現象に悩まされていましたが、最終的な実験ではこれでワークしました。
                     ↓
 =IF(AND(INDEX(INDIRECT("Sheet1!C5:AV254"),ROW(A1),COLUMN(A1))<>2,IF(MOD(COLUMN(A1),2),ISBLANK(D5),ISBLANK(B5))),$AZ$1:$AZ$4,C5)

 (半平太)

 半平太 様

 私の拙い説明をご理解いただきありがとうございます!!本当に感謝しております。

 そして、ご指導の通り入力したところ完璧でした!!!すばらしいですね!!!

 数式について、自分なりに勉強してなんとかわかった(つもり・・・)のですが、ISBLANK(B5)がどうしても分からず苦戦しております。教えていただけるとうれしいです。すみません。

 それともう一点ですが、同じように「シート1のD5にデータが入力されたら、シート2のD5に入力できなようにして、シート2のD5にデータが入力されたらシート2のC5にデータを入力できないようにする」としたいのです。

 教えていただいたものを入力規則のみ貼り付けしましたら、もちろんですが、D5はE5との関連になりました。

 ISBLANK(D5)をISBLANK(C5)に変更し、一番最後のC5をD5にすることはなんとなくわかるのですが、そこでISBLANK(B5)がわからなくなりました。

 長々と申し訳ありません。

 あと少し、私にお付き合いいただければ幸いです。AHNY


 >ISBLANK(B5)がどうしても分からず

 IF(MOD(COLUMN(A1),2),ISBLANK(D5),ISBLANK(B5))
    ~~~↑~~~~~~~~~~~~
  列番号が奇数のときは、右のセル(D5)がブランクかをチェックする、
      偶数のときは、左のセル(B5)がブランクかをチェックする。

  したがって、基準のセルがC5のときは、D5(右のセル)をチェックし(B5は無関係)、
        基準のセルがD5のときは、C5(左のセル)をチェックする(E5は無関係)ことになります。

  理屈からすると、これでいいハズですが、「不可解にも」うまく行かなかったので上式にしました。
           ↓
           ISBLANK(IF(MOD(COLUMN(A1),2),D5,B5))

 私の回答はこれで最終とさせていただきます。 _m(__)m

 追加質問に関しては、識者のレスをお待ちください。
  ※  当初のテーマからは離れすぎていますので、このトピックは一旦解決にして、
    新規にお聞きいただく方が、もしかするとよいかも知れません。
     その際は、シート1のデータがどうなっているのか、具体例を示された方がいいと思います。
   (私は、「2」か「空白」だけと思い込んでいました。)

 (半平太)

 半平太 様

 本当にいろいろとありがとうございました。大変助かりました。

 今後ともよろしくお願いいたします!!!  AHNY


コメント返信:

[ 一覧(最新更新順) ]


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