する質問をすることでしか得られない、回答やアドバイスがある。5スプレッドシート(excel)の関数についてです。スプレッドシートでタスク管理表を作っています。その際にプルダウンメニューで「Doing」「Done」の枠を設けました。Doingにしたら隣の列にその時刻が開始時刻として表示され、Doneにしたらその時刻が終了時刻として開始時刻の隣に表示されるようにしたいです。IF関数を使って試してみて、Doingにしたらその時刻が表示されるDoneにしたらその時刻が表示されるようにはできました。IF関数を使ってるためどちらかを表示したらどちらかがFALSEになってしまいます。これを両方表示させたままにしておきたいです。やり方があるならなんでも教えて欲しいです。式が入力された瞬間に値に変更される関数などがあれば解決するな、と思っていますが正しいでしょうか?回答よろしくお願い致します。attachmentクリップ0気になる質問をクリップするクリップした質問は、後からいつでもマイページで確認できます。クリップした質問に回答があった際、通知やメールを受け取ることができます。自分も答えを知りたい質問者以外のユーザにも役立つ評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。質問の評価を上げたことを取り消します低評価-評価を下げられる数の上限に達しました評価を下げることができません1日5回まで評価を下げられます1日に1ユーザに対して2回まで評価を下げられます質問の評価を下げるteratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。コメントをしてください。送信する質問の評価を下げる機能の利用条件この機能を利用するためには、以下の事項を行う必要があります。件sort評価が高い順sort新着順sort古い順linkcheckベストアンサー+1A列に入力時刻、B列にDoing/Done、C列に開始時刻、D列に終了時刻を記載するものとします。この時、B列の状態によって表示内容を変化させたいのはC列とD列ですので、式はC列とD列のセルに記述することになります。判断条件は、こう考えるとわかりやすいかもしれません。C列はB列が"Doing"の時にA列の値を表示したい。"Done"になっても消したくない(表示したい)。D列はB列が"Done"の時にA列の値を表示したい。これを式にすると、例えば2行目ならC2セル=if(B2="Doing",A2,If(B2="Done",A2,""))D2セル=if(B2="Done",A2,"")のようになります。C2セルの式はもう少しスマートに、=if(OR(B2="Doing",B2="Done"),A2,"")と記述しても同じ結果が得られます。参考までにVBAで処理する場合のサンプルです。対象シートのシートモジュールとして以下のような処理を記述すれば、B列の変更時にA列の値をC/D列に写すことができます。Sub今回はVBAでの質問ではありませんでしたし、環境によってはマクロは私用したくない場合もあるかと思いますが、興味があればお試しください。※ExcelではなくGoogleSpreadSheetなのでVBAは使用できませんでした。評価が高い回答ほどページの上位に表示されます。remove低評価0回答の評価を下げる下記のような回答は推奨されていません。評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。14:37回答ありがとうございます!遅ればせながら試してみました。すると、Doneにした時にDoingの入力時刻もDoneにした時の時間に変更されてしましました。これを改善する術はあるでしょうか。遅ればせながら試してみました。すると、Doneにした時にDoingの入力時刻もDoneにした時の時間に変更されてしましました。これを改善する術はあるでしょうか。回答遅くなりすみません、インフルエンザで臥せっていましたm(__)m>Doneにした時にDoingの入力時刻もDoneにした時の時間に変更されてしましました。状態(DoneやDoing)が変化していく際、時刻セルも都度変化していく。変動したいが、一度書いた時刻は変動したくない。それでタイトルの「式を値に」ということでしたか。式の結果は、その式を入力したセルに返されます。A1セルに「B2セルの内容を値として出力する式」を記述したとして、A1セルにB2セルの内容が出力されたとします。この時、A1セルの内容は「B2セルの内容を値として出力する式」ですか?それともB2セルの値ですか?B2セルの値だとしたらいつ時点のB2セルの値ですか?・・という具合に矛盾した話になりますよね。結論を言うと「計算結果を値として出力する関数」や「一度評価したら値に置き換わるような関数」は存在しません。式で対応しようと思うなら、どこかに求める値を持っておくか、計算で導けるようになっていなければなりません。時刻セルの値が上書かれた時点で、元の時刻の情報はどこにも残っていないので参照しようがないのです。時刻セルの内容が変更されるまえに「コピー」⇒「値として貼り付け」を行っていれば別ですが、これを手作業で行うのでは自分で時刻セルから開始時刻にコピペするのと大差ないものになってしまいます。実現するならマクロを使わなければならないと思います。>Doneにした時にDoingの入力時刻もDoneにした時の時間に変更されてしましました。状態(DoneやDoing)が変化していく際、時刻セルも都度変化していく。変動したいが、一度書いた時刻は変動したくない。それでタイトルの「式を値に」ということでしたか。式の結果は、その式を入力したセルに返されます。A1セルに「B2セルの内容を値として出力する式」を記述したとして、A1セルにB2セルの内容が出力されたとします。・・という具合に矛盾した話になりますよね。結論を言うと「計算結果を値として出力する関数」や「一度評価したら値に置き換わるような関数」は存在しません。式で対応しようと思うなら、どこかに求める値を持っておくか、計算で導けるようになっていなければなりません。時刻セルの値が上書かれた時点で、元の時刻の情報はどこにも残っていないので参照しようがないのです。時刻セルの内容が変更されるまえに「コピー」⇒「値として貼り付け」を行っていれば別ですが、これを手作業で行うのでは自分で時刻セルから開始時刻にコピペするのと大差ないものになってしまいます。実現するならマクロを使わなければならないと思います。16:24丁寧な回答ありがとうございます。自分の中でもそういう結論に達しました。日付や時刻を入力するショートカットキーがあったのでそれで最小の手間で済ませることにしました。わかりやすくご指導いただきありがとうございました!丁寧な回答ありがとうございます。自分の中でもそういう結論に達しました。それで最小の手間で済ませることにしました。参考までにVBAで処理する場合のサンプルコードを回答に追記させていただきました。興味があればお試しください。参考までにVBAで処理する場合のサンプルコードを回答に追記させていただきました。興味があればお試しください。17:54そもそもExcelではなくSpreadSheetでしたね。_)mそもそもExcelではなくSpreadSheetでしたね。Spreadsheetのデータを整形して、レポート形式で表示したい。条件付き書式で塗りつぶしたとき、1セル足りなかったり多かったりする。0GoogleChartのグラフをスプレッドシートあるいは、Excelに掃き出したい。頂いたご意見への回答は行っておりません。