2017-01-10 10 views
1

カラム値がTrue?に基づいて、 'アプリケーションタイプ' - カラムヘッダーの連結リストを取得する方法を教えてください。いくつかのアプリケーションタイプがあります。複数のルックアップ値を持つルックアップ値に基づいて範囲からヘッダー値を取得

これを参照してください:

enter image description here

目的は一つの列にアプリケーションタイプのデータを置くことであろう。例えば。例の行1の場合、出力はApplication 1,Application 2になります。

+0

どのバージョンのExcelを使用していますか? – CallumDA

+0

私はExcel 2013を使用しています。 –

+0

ああ、私はちょうどINDEX MATCHをノックしましたが、最初の「TRUE」はプロジェクト1の2つのトゥルーを照会するつもりでしたが、「いくつかのアプリケーションタイプがあるかもしれません。いくつかのVBAに行ってください。私は運用モジュールを譲る前に、何らかのコーディング作業を見たいと思っています。 –

答えて

2

VBAを使用したい場合は、UDF(User Defined Function)を使用してこれを実現できます。

enter image description here

単に二つの範囲をとりH2セルの数式、現在の行と(あなたがダウン式をドラッグできるように、絶対的な基準が必要)ヘッダ:私はあなたのセットアップの簡単なバージョンをアップ嘲笑しました

Public Function GetHeaders(dataRow As Range, headers As Range) 
    Dim i As Long 
    Dim result As String, split As String 

    split = ", " 

    For i = 1 To dataRow.Columns.Count 
     If dataRow.Cells(1, i).Value = True Then 
      result = result & headers.Cells(1, i).Value & split 
     End If 
    Next i 

    GetHeaders = Left(result, Len(result) - Len(split)) 
End Function 

=GetHeaders(B2:F2,$B$1:$F$1) 

することは、あなたはVBAエディタに移動する必要があります。この機能を使用する新しいモジュールを追加し、このコードを貼り付けできるようにするには

これはかなり簡単ですので、使用する前にコードを理解してください。

+0

ありがとうCallumDA、働いた! –

+0

こんにちは、CallumDA、 私はGetHeadersの式を使用する場合、私はマクロを格納することはできませんし、それを行うためにサブとエンドのサブを使用することができませんでしたので、それは継続的に使用することはできません。 これを行う方法はありますか? –

+0

なぜこれはサブである必要がありますか?それはうまくいく? – CallumDA

関連する問題