• 締切済み

スプレッドシート セルの内容の一括変更について

お世話になります。 スプレッドシート(エクセル)についてのご質問となります。 以下のように、セルをプルダウンすると、セルに値(出荷前、出荷済)が入っており、 ”3出荷ステータス”以下のセルの”出荷済”に変更するとセルの色が変更するようにしています。 ーーー A 1一括出荷通知 2出荷済 3出荷ステータス 4出荷前 5出荷前 6出荷前 7出荷前 8出荷前 ーーー 3出荷ステータス以下を、一行づつ、”出荷済”に変更していくのは効率的ではないので、 1”一括出荷通知”機能として、2”出荷前”→”出荷済”に変更すると、それがトリガーとなり、 3出荷ステータス以降のセルすべて(4出荷前~8出荷前)が、一括で、”出荷済”に変更するためには、どのようにエクセル関数を組んだらいいでしょうか? ご教授お願いいたします。

みんなの回答

回答No.3

> スプレッドシート(エクセル)について どちらです? カテゴリを「オフィス系ソフト」、タイトルに「スプレッドシート」ってことは、 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/17068)
回答No.2

トリガーなんて難しい言葉を使っている割には、どうしたいのか質問表現がよく伝わらない。セルの番地をA1などのひょうげんをして、例示明記のこと。1・・などはわかりにくい。 トリガーといえば、VBAのイベントなどの考えだが、質問者は、そういうことを勉強済みではないだろう。仕事にエクセルを使えるレベルではないような感じだ。 スプレッドシートもエクセルと表現せよ。他種の表計算ソフトと紛らわしい。 ーー エクセル関数では、引数のセルの値が変動すると、連動して結果が変わる。これがエクセル関数の特徴点だ。この機能を使えないのか。 ーー 例えば、B1にデーター入力規則ーリストー(リストの内容)出荷前,出荷後(カンマは半角) 例えば、A5に=IF($B$1="","",$B$1)と入れて、A9までしkを複写。 B1に応じtて、A5:A9セルは連動するが。 こういうのではいけないのか。 ーー そうなら、少しエクセルをやった人なら、質問するための文章を書くとき、こういう回答が出るだろうが、それではないということを、前もって注記すべきだと思う。

  • nankichi
  • ベストアンサー率0% (0/3)
回答No.1

3出荷ステータス以降のセルは、一括でも変換できるし、個別にもプルダウンで変更できるようにしておきたい、ということでしょうか。 であればworksheet関数では無理で、VBAでないとできません。 >それがトリガーとなり、 まさにこれはVBAの範疇です。 なお、3出荷ステータス以降のセルが手修正できなくなってもいい、というのであれば、vlookupで参照すればいいだけです。

関連するQ&A

  • EXCELで指定範囲に一括して行を挿入

    EXCELで指定範囲のセルに、一括して一行置きに行を挿入出来る関数があれば教えてください。

  • Googleスプレッドシートでセルの文字数の関数

    こんにちは。 エクセル系にあまり詳しくないもので教えてください。 現在Googleスプレッドシートを使っているのですが、 セルに入力した文字の「文字数」を表示したいです。 例えばA1セルに500文字日本語を入力していると、 A2セルに「500」と出るようにしたいのですが、 この場合どのような関数を書けばよいでしょうか? 詳しい方ご伝授いただけると助かります。 宜しくお願い致します。

  • リアルタイムスプレッドシート

    リアルタイムスプレッドシート初心者です。リアルタイムスプレッドシートとエクセルを使って、簡単なリアルタイム株価チェック表を作成しようと思ってします。例えば、楽天の株価現在値であれば、「=RSS|'4755.Q'!現在値」とエクセルのセルに入力すれば、現在値が反映されますが、この関数を登録したいすべての銘柄だけ、しかも銘柄コードを変えて入力するのは非常に大変です。そこで、あらかじめ銘柄コードと市場コードを任意のセルに入力すれば、このRSS関数の中に自動的に入る計算式をご存知ありませんか?「=RSS|'4755.Q'!現在値」の'4755.Q'の部分に他のセルから値を引っ張ってこようと色々と試してみましたが、他の一般的な関数と違ってエラーになってしまいます。できればVBのことはわからないので、VBを使わずにできる方法があればご教示ください。

  • Excel:セルの内容が変更されない

    Excel2010(Excel97-2003ブック)で、1つのセルに関数を入力し、そのセルをコピーして、その下に何行か、貼り付けをしたのですが、セルの内容が変更されていませんでした。 一度、セルの中をクリックして、Enterキーを押さないと変更されません。 例えば、添付画像の「赤枠」が最初に関数を入力した部分でコピーしたとします。そして、貼り付けを「緑枠」にしたのですが、「緑枠」の部分が「赤枠」と同じ結果になってしまうんです。(添付画像では変更されていますが、実際は別のエクセルファイルです。) この説明で理解できたでしょうか? これは、どうすれば、セルの内容を変更できるようになるのでしょうか? 回答よろしくお願いします。

  • Excelで未入力セルに一括で特定の文字を

    Excelについての質問です。 未入力セルに一括で特定の文字を入れたいのですがそんな関数をご存じないでしょうか? セルが未入力(空白)の場合、一括で「,*」を入れる、ということをしたいのです。 よろしくお願いいたします。

  • スプレッドシート NOW()について

    Googleスプレッドシートについて B3のセルには担当者がリスト化されており、自分の名前を選ぶと B4に日時が自動出るようにしました。 B4セル内の関数「=if(B3<>"",NOW(),"")」ここまではいいのですが 隣のC3セルの担当者を入力すると C4セルの日時は変更するのですが B4セル内の日時も更新されてしまいます。 日時を固定したいのですが、お知恵を貸していただけませんでしょうか。 よろしくお願いいたします。

  • 複数のセルの関数で指定したセルを同時に変更したい

    複数セルに入力された関数が参照するセルを、同時に変更することはできますか? 関数で参照したセルが間違っていたり、新しいデータ入力でセルがズレた場合などで関数で指定されているセルを変更するのは手作業でやると面倒です。おまけにそれが複数の関数に影響したら一つ一つ手作業で変更していたら日が暮れます。 一括で指定セルの変更を行う方法はありませんか? ちなみに今回、全ての関数は同じセルを参照しています。

  • Googleスプレッドシートの%表示について

    Googleスプレッドシートで現在%表記されているセル、例えば80%(この設定は0.8と入力後にアイコンの%をクリックしました)の部分を変更しようとその部分を選択し数字の90を入れると90%とならずに数字の90が上書きされてしまいます。エクセルではセルの書式設定で%表記に設定して、その部分に数字を入れれば数字ではなく%表示になるのですが。。。スプレッドシートで同様の設定はできないのでしょうか?ご存じの方がいたら教えてください。

  • Excel97で、ハイパーリンクを一括変更するには?

    Excel97で、ハイパーリンクを一括変更するには? 古いソフトで大変恐縮ですが、ネットワーク上で、サーバAに保存されたWordデータにリンクされる様にExcel97でハイパーリンクを設定しています。(このリンクはハイパーリンク関数ではなく直接入力したものです。) この度、このリンク先のWordデータの保存先を別のサーバBに変更することになりました。そこでExcelのハイパーリンクも変更したいのですが、データ数が膨大な為、一括で変更できる方法はありませんか? 過去の質問で似たような回答がありましたが(http://okwave.jp/qa/q1323629.html)、このコードの「Replace」はExcel97VBAでは使用不可だと思います。「Replace」の替わりに「Application.WorksheetFunction.Substitute」を使用してみましたが、「Substitute」でコンパイルエラーがでてしまいます。なにか足りない引数等があるようでしたらアドバイス下さい。 なお、Wordデータは日付をデータ名にして年代ごとに保存されています(例:¥¥サーバB¥2009¥0101.doc)。ちなみにExcelでは、A列にハイパーリンク、B列にデータ名を記述してあります。VBAではなく関数を利用して変更する方法があればそれでもかまいません。(例えばC1セルに「¥¥サーバB¥2009¥」まで記述して、A2セルに「$C$1 & B2 & .doc」みたいな記述をしてそれをA3セル以下全部コピーする事って可能でしょうか?)

  • スプレッドシートをエクセルに同期

    スプレッドシートをエクセルに同期したいと考えております。 下記の内容にて進めているのですが、日付の部分が数字になります。 例)2024/12/16のセルが45642のような表記になります。   ちなみに2024/12/16の部分はDATE関数を使用しております。 その他も含めてですが、スプレッドシートのままの状態を同期できれば問題ないのですが、原因と解決方法をアドバイスもらえないでしょうか? https://note.com/karikakko/n/n9eed4e1753b9

専門家に質問してみよう