• ベストアンサー

セルに指定記号入力と同時に他のセルも反応の方法は?

エクセルの指定した記号を入力すれば指定したセルに数字が入る方法を教えてください。 たとえば、あるセルに「a4」と入力すれば、右隣のセル2つに2、2と数字が自動入力。 「b5」と入力すれば右隣のセル3つに1、2、2と自動入力するというような方法です。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.2

 今仮に、指定記号を入力するセルがSheet1のA2セルであるものとします。  まず、適当な使用していないシート(ここでは仮にSheet2とします)のA列中の適当なセルに a4 と入力し、その右隣のセル2つに2、2と入力して下さい。  次に、Sheet2のA列中のまた別の適当なセルに b5 と入力し、その右隣のセル3つに1、2、2と入力して下さい。  その他の指定記号に関しても、同様に、Sheet2のA列のセルに指定記号を、その右隣のセル範囲に表示したい値を入力した一覧表を作成して下さい。  次に、Sheet1のB2セルに次の数式を入力して下さい。 =IF(COUNTIF(Sheet2!$A:$A,$A2),IF(VLOOKUP($A2,Sheet2!$A:B,COLUMNS($A:B),FALSE)="","",VLOOKUP($A2,Sheet2!$A:B,COLUMNS($A:B),FALSE)),"")  そして、Sheet1のB2セルをコピーして、その右隣のセル範囲に貼り付けて下さい。  これで、Sheet1のA2セルにエクセルの指定した記号を入力すれば、その右隣のセル範囲に該当する値が表示されます。

kishiwander
質問者

お礼

わかりやすい表もつけていただきましてありがとうございました。

すると、全ての回答が全文表示されます。

その他の回答 (3)

回答No.4

A列の数字をトリガにすると、こんなガンジ?? Sub DivideBy2() Dim kk As Long Dim nn As Long Dim hNum As Long Dim xOdd As Long With Sheets("Sheet1") nn = .Cells(.Rows.Count, 1).End(xlUp).Row If ((nn = 1) And (.Cells(1, 1).Value = "")) Then MsgBox ("No Data Found!!") Exit Sub End If For nn = 1 To .Cells(.Rows.Count, 1).End(xlUp).Row If (.Cells(nn, 1).Value = "") Then Exit For hNum = Int((.Cells(nn, 1) + 1) / 2) If hNum > 255 Then hNum = 255 End If If hNum > 0 Then 'xOdd = hNum - Cells(nn, 1) / 2 xOdd = .Cells(nn, 1) Mod 2 If xOdd = 1 Then .Cells(nn, 2) = 1 Else .Cells(nn, 2) = 2 End If If hNum > 1 Then For kk = 2 To hNum .Cells(nn, kk + 1) = 2 Next kk End If End If Next nn For kk = 1 To hNum + 1 Columns(kk).EntireColumn.AutoFit Next kk End With End Sub

kishiwander
質問者

お礼

ありがとうございまいた。 関数での命令もいろいろあるものだとわかりました。 初心者なので、もっと勉強します。

すると、全ての回答が全文表示されます。
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.3

シート名タブを右クリックしてコードの表示を選ぶ 現れたシートに下記をコピー貼り付ける private sub Worksheet_change(byval Target as excel.range)  dim h as range  for each h in target  select case h.value  case "a4" ’a4の場合 以下同じ   h.offset(0, 1) = 2 ’一つ右   h.offset(0, 2) = 2 ’二つ右 以下同じ  case "b5"   h.offset(0, 1) = 1   h.offset(0, 2) = 2   h.offset(0, 3) = 2  case else  end select  next end sub ファイルメニューから終了してエクセルに戻る セルにa4やb5を記入すると自動入力する。

kishiwander
質問者

お礼

ありがとうございました。 エクセル関数は初心者で複雑な命令が必要なのだとあたらめて思いました。

すると、全ての回答が全文表示されます。
  • violet430
  • ベストアンサー率36% (27472/75001)
回答No.1

IF関数を使えばできますけど、入力を区別する記号はどのくらいの数あるのですか?

kishiwander
質問者

お礼

7つほどです

すると、全ての回答が全文表示されます。

関連するQ&A