2016-07-15 4 views
-1

Вот краткое объяснение моей проблемы, связанной с подсчетом дефектов. Колонка A, колонка B, колонка C, колонка D, колонка EОбработка данных на основе Excel

Столбец A и B являются двоичными (присутствует или отсутствует дефект). Столбец C содержит описание дефекта. Столбец D содержит предопределенный список дефектов

Если ячейка в столбце A равна 0 ---> возвращает 0 в столбце E. Если ячейка в столбце A равна 1 ---> проверьте, является ли ячейка в столбце B также 1.

Если ячейка в столбце B 1 ---> вставки 0 в клетке E.

Если ячейка в столбце B равно 0 ---> проверить описание в колонке с, соответствует ли описание в колонке D.

Если описание соответствует ---> возврат 1 в ячейку E.

Если описание не соответствует ---> return 0 в ячейке E.

Я использовал пару функций IF и VLOOKUP для вышеперечисленного, но я получил ошибку «слишком много функций» от excel.

Может ли кто-нибудь помочь мне создать формулу/код VB для этого?

+3

Сначала сделайте все возможное, и если вы столкнулись с ошибками/проблемами, вы можете отправить более прямой вопрос. Как и сейчас, похоже, что вы ничего не сделали. – ishmaelMakitla

+0

Как @ishmaelMakitla отметил: это не платформа №4 me_. Пожалуйста, отправьте код и подумайте о том, чтобы прочитать [this] (http://stackoverflow.com/help/how-to-ask) –

+0

Спасибо за совет. Прошу прощения, если я не соблюдаю общие правила. Является новым для переполнения стека. это будет иметь в виду. – Shantanu

ответ

0
Dim startRow As Long 
Dim i As Long 
Dim lastRow As Long 
Dim sh As Worksheet 


startRow = 1 'Set first row to check 
Set sh = ThisWorkbook.Worksheets("Sheet1") 

lastRow = sh.Cells(sh.Rows.Count, "A").End(xlUp).Row 

For i = startRow To lastRow 
    If sh.Cells(i, 1) = "0" Then 
     sh.Cells(i, 5) = "0" 
    ElseIf sh.Cells(i, 1) = "1" And sh.Cells(i, 2) = "1" Then 
     sh.Cells(i, 5) = "0" 
    ElseIf sh.Cells(i, 1) = "1" And sh.Cells(i, 2) = "0" Then 
     If sh.Cells(i, 3) = sh.Cells(i, 4) Then 
      sh.Cells(i, 5) = "1" 
     Else 
      sh.Cells(i, 5) = "0" 
     End If 
    End If 
Next i 

Что вы хотите, это немного неясно, это работает для вас?

+0

Спасибо за ваш быстрый ответ. Я быстро работаю с этим, и, если проблема не исчезнет, ​​вернитесь к вам с более сложным вопросом! – Shantanu

+0

Если это работает для вас, примите ответ, чтобы закрыть вопрос. :) –

Смежные вопросы