私はExcelスプレッドシートに取り組んでおり、特定の条件が満たされた場合にユーザー入力を許可し、それ以外の場合は値を計算するifステートメントがセルに必要です。何かのようなもの
=if(condition true, whatever user wants, 5*$A$1,)
これを行う方法はありますか?
私はExcelスプレッドシートに取り組んでおり、特定の条件が満たされた場合にユーザー入力を許可し、それ以外の場合は値を計算するifステートメントがセルに必要です。何かのようなもの
=if(condition true, whatever user wants, 5*$A$1,)
これを行う方法はありますか?
数式と同じセルにユーザー入力を入れることはできません。(VBA を使用しない場合)
VBA を使用せずに行うには、少なくとも 2 つのセルを使用する必要があります。1 つは数式用、もう 1 つはユーザー値用です。
VBAでそれを行うにはいくつかの方法があります
これは単純なものですが、実際にはお勧めしません。多くのセルがこれを使用すると、多くの入力ボックスが得られます!
利用方法:=IF(condition, UserInput(), false result)
Public Function UserInput() As Integer ' used integer as an example
Dim Result As Variant
Result = Application.InputBox("Enter an Integer", "Input Required", , , , , , 1) ' inputbox, the final 1 makes it only accept numbers
If VarType(Result) = vbBoolean Then
UserInput = 0 ' the default value
Else
UserInput = CInt(Result) ' make sure its an integer
End If
End Function
別の方法としては、選択変更イベントとセル変更イベントを使用して、変更されているセルの初期値を読み取り、変更を許可する (値を初期数式の「true」ブロックに追加するか、セルの数式を元に戻して変更を拒否する)。最初のもの。
マクロを使用してnull列のみを更新するか、ユーザーが別の列に値を入力してからこの列の値をマージできるようにする必要があります。3番目のオプションは、式を入力して、人々がそれを任意の値に編集できるようにすることです値のみが必要な場合
=IF(C11="Economic",120,IF(C11="DBServer",480,IF(C11="Gamer",120,IF(C11="Custom",M15,"null"))))
私の例は、特定の制約が与えられた最適なコンピューターを構築することでした。オプションとして、、、、Economic
およびDBServer
のGamer
ドロップダウンがありました。Custom
エコノミーを選択した場合、120 がセルに表示され、DbServer は 480 を意味します。カスタムを選択した場合は、必要なセルのコードに影響を与えないユーザー入力であるセル M15 を参照します。最終的な数字。