- 締切済み
スプレッドシート セルの内容の一括変更について
お世話になります。 スプレッドシート(エクセル)についてのご質問となります。 以下のように、セルをプルダウンすると、セルに値(出荷前、出荷済)が入っており、 ”3出荷ステータス”以下のセルの”出荷済”に変更するとセルの色が変更するようにしています。 ーーー A 1一括出荷通知 2出荷済 3出荷ステータス 4出荷前 5出荷前 6出荷前 7出荷前 8出荷前 ーーー 3出荷ステータス以下を、一行づつ、”出荷済”に変更していくのは効率的ではないので、 1”一括出荷通知”機能として、2”出荷前”→”出荷済”に変更すると、それがトリガーとなり、 3出荷ステータス以降のセルすべて(4出荷前~8出荷前)が、一括で、”出荷済”に変更するためには、どのようにエクセル関数を組んだらいいでしょうか? ご教授お願いいたします。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- tsubu-yuki
- ベストアンサー率46% (179/386)
> スプレッドシート(エクセル)について どちらです? カテゴリを「オフィス系ソフト」、タイトルに「スプレッドシート」ってことは、 Google?KINGSOFT・・今はWPSか。 それともオープンオフィスのカルク? ソレによってもアドバイスは変わります。 ま、「スプレッドシート」とか呼んでるとなんだか通っぽいですもんね。 さておき、いずれにしても、「条件を満たすと自動的に入力する」かつ 「個別の手入力にも対応させる」のであれば、マクロなどの考え方が必要ですね。 エクセルをはじめ「スプレッドシート」と呼ばれるものの大半は 「セル」に2つ以上の内容を同時にもてません。 仮にIF関数(あるいは同等の関数)を4行目以降に作り、 コレを2行目に対応させようと作ってみたとしても、 手動で個別に変更しようとすると「式を上書きする」しかないのです。 冒頭通り、マクロ機能についてはソフトによって手法は様々ですので、 そこをぼかして質問なさっても、回答の出しようがないわけです。 Googleスプレッドシートなら「スクリプト」、JSだったかな。 エクセルならVBAを使って、 ・A2セルが「出荷済み」になったら ・A4~A8に「出荷済み」を入力 と組んでやれば良いですよ。 少し調べれば考え方は理解できると思います。 VBAで良ければ1行でいけますね。 If cells(2,1)="出荷済" then range("A4:A8") = "出荷済" エラー処理とか一切考えてないです。 おまけ)半手動でのやり方。 ・エクセルの場合 「出荷済み」にしたい複数のセルを選択 ※Ctrlキーを使って離れた範囲を選択してもOKですよ。 「出荷済み」と入力(この時点ではまだ編集or入力の状態) Ctrl+Enterキーで確定 これで、選択したセル全てに「出荷済み」と入力できます。 ・Googleのスプレッドシートの場合 先頭のセルに「出荷済み」と入力 そこから連続した範囲を選択 Ctrl+Enter を押す これで、選択した連続する範囲てに「出荷済み」と入力できます。 ただし、「連続した範囲」にしか対応しません。 他のプログラムについてはよくわかりませんが、 openofficeのカルクにはこの機能は無かったような気がします。 まぁ、コピーして貼り付けてやればいいんですけどね。
- imogasi
- ベストアンサー率27% (4737/17069)
トリガーなんて難しい言葉を使っている割には、どうしたいのか質問表現がよく伝わらない。セルの番地をA1などのひょうげんをして、例示明記のこと。1・・などはわかりにくい。 トリガーといえば、VBAのイベントなどの考えだが、質問者は、そういうことを勉強済みではないだろう。仕事にエクセルを使えるレベルではないような感じだ。 スプレッドシートもエクセルと表現せよ。他種の表計算ソフトと紛らわしい。 ーー エクセル関数では、引数のセルの値が変動すると、連動して結果が変わる。これがエクセル関数の特徴点だ。この機能を使えないのか。 ーー 例えば、B1にデーター入力規則ーリストー(リストの内容)出荷前,出荷後(カンマは半角) 例えば、A5に=IF($B$1="","",$B$1)と入れて、A9までしkを複写。 B1に応じtて、A5:A9セルは連動するが。 こういうのではいけないのか。 ーー そうなら、少しエクセルをやった人なら、質問するための文章を書くとき、こういう回答が出るだろうが、それではないということを、前もって注記すべきだと思う。
- nankichi
- ベストアンサー率0% (0/3)
3出荷ステータス以降のセルは、一括でも変換できるし、個別にもプルダウンで変更できるようにしておきたい、ということでしょうか。 であればworksheet関数では無理で、VBAでないとできません。 >それがトリガーとなり、 まさにこれはVBAの範疇です。 なお、3出荷ステータス以降のセルが手修正できなくなってもいい、というのであれば、vlookupで参照すればいいだけです。