Как определить текст кода для предопределенного результата?

Как определить текст кода для предопределенного результата?

Я не смог как следует сформулировать свой вопрос, но подробное объяснение будет легче понять.

Я хочу определить код - например, "A" - и текст результата для этого кода или, в моем случае, мне нужна дата. По сути, я спрашиваю, что в определенном столбце, когда я пишу "A" и нажимаю Enter, соответствующая дата должна заполнять ячейку. Я не знал, как это искать, поэтому мне пришлось создать этот вопрос. Предпочтительно, чтобы код и соответствующий текст были на другом рабочем листе.

Мне нужно, чтобы ответ был на Google Диске, но если его нет, то я с удовольствием получу ответ и в Excel.

решение1

Я совсем новичок в Google Apps Script и JavaScript, но, кажется, это работает:

/** @OnlyCurrentDoc */
function onEdit(e) {
  var activeSheet = e.source.getActiveSheet();
  var range = e.range;
  var target_sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet2");
  var target_range = target_sheet.getRange("A1:B10");
  if (activeSheet.getName() == "Sheet1") {
    for (var i = 1; i <= 10; i++) {
      var currentValue = target_range.getCell(i,1).getValue();
      var currentDate = target_range.getCell(i,2).getValue();
      if (currentValue == e.value) {
        range.setValue(currentDate);
        break;
        }
      }
  }
}

Как это выглядит в действии:

В бою

В Excel VBA это будет выглядеть примерно так:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim r As Range, c As Range
Set r = Sheets(2).Range("A1:A10")   'This is where I have the "code", with the date in column "B"
If Target.Count = 1 Then
    Set c = r.Find(Target.Value, LookIn:=xlValues)
    If Not c Is Nothing Then Target.Value = c.Offset(0, 1).Value
End If
End Sub

Оба они будут искать на втором листе диапазона A1-A10введенное значение на листе 1. А затем возвращать дату (или что-то еще) из столбца Bв соответствующей строке.

Связанный контент