이름/값 쌍이 있는 Excel 드롭다운
저는 워크시트가 2개 있는 워크북이 있습니다.
"Sheet2"에는 두 개의 열이 있습니다.
| A | B |
+---------+---------------+
| code1 | description 1 |
| code2 | Descr 2 |
시트 1에는 여러 개의 열이 있으며, 그 중 하나(D열)는 코드입니다.이 열에서 나는 "드롭 박스"가 필요합니다.
- Sheet2 열이 표시됩니다.B(설명) 및 사용자가 하나의 설명을 선택한 경우
- 다니입갈에 .
code
A 대령으로부터
수 있어요. 있다니습수를 하는 것은 합니다.without additional helper column
1? ( 2010)트에 1시? (Excel 2010)
따라서 HTML에서 매우 간단한 것이 필요합니다.
<select>
<option value="code1">Description 1</option>
<option value="code2">Descr 2</option>
</select>
사용자가 "Descr 2"를 선택하면 양식은 "code2"를 얻습니다.
이 질문은 아마도 엑셀에 여러 열이 있는 드롭다운을 만드는 방법과 중복되지만, 이 질문에 대한 유일한 대답은 다른 문제에 대한 해결책이 있는 외부 사이트를 가리키는 것입니다.
더 설명을 :
간단합니다! 여기 우리가 얻을 것이 있습니다!
3단계만:
조회 값으로 사용할 범위 정의
드롭다운 목록 생성
일부 코드에 붙여넣기
1단계: Setup
Sheet2
like this and define a
명명된 범위 as
_descrLookup
:
( Highlight -> Right-Click -> "Define Name..." )
이 단계는 선택적인 단계이지만 3단계를 쉽게 수행할 수 있습니다.
2단계: In
Sheet1
, create the dropdown using
데이터 검증 and use the VALUES YOU WANT TO BE SHOWN IN THE DROPDOWN as the source. In this example it's
Sheet2 A2:A4
(see above image):
( Data -> Data Validation )
3단계: Add some VBA code to
Sheet1
:
( Right-Click the tab Sheet1 -> View Code )
음간동코창붙다니습여넣에드안▁▁code▁for의 코드 창에 붙여넣습니다.Sheet1
:
Private Sub Worksheet_Change(ByVal Target As Range)
selectedVal = Target.Value
If Target.Column = 4 Then
selectedNum = Application.VLookup(selectedVal, Worksheets("Sheet2").Range("_descrLookup"), 2, False)
If Not IsError(selectedNum) Then
Target.Value = selectedNum
End If
End If
End Sub
VLOOKUP과 결합된 Data Validation(allow List)이 원하는 대로 작동하는 것 같습니다.
시트 2에 설명/코드 목록을 설정합니다.명명된 범위로 지정합니다(원형 참조 문제를 방지하는 데 도움이 됩니다).
시트 1의 설명 열에서 데이터 유효성 검사를 사용하여 목록의 설명 열을 참조하는 드롭다운 목록을 만듭니다.코드 열에서 VLOOKUP 함수를 사용하여 드롭다운 목록 값에서 키를 뺍니다.
=IF(B4="", "", VLOOKUP(B4, FruitList, 2, FALSE))
업데이트됨 -
저는 "도우미 칼럼 없이"가 무슨 뜻인지 이해하기 시작했지만, 당신이 원하는 것을 정확히 얻을 수 있을지는 모르겠습니다.엑셀 디자인의 사실: 여러분이 보는 것은 여러분이 얻는 것입니다. 즉, 셀에 표시되는 값은 셀의 유효값입니다.셀에 하나의 값만 표시하고 다른 값은 "포함"할 수 없습니다.HTML에서 이러한 것은 "매우 간단"하지만 HTML 컨트롤은 스프레드시트의 셀과 같은 목적으로 구축되지 않습니다.동시에 두 가지가 있습니다. 가치와 그 가치의 사용자 인터페이스 프레젠테이션입니다.스프레드시트 셀에는 값(드롭다운 목록, 수식 등)을 결정하는 방법이 포함될 수 있지만 값에 도달하는 경우에는 값이 표시됩니다.
엑셀은 콤보 박스와 같은 형태의 지원을 하고 있지만, 그 값은 여전히 다른 셀로 출력된다고 생각합니다.
이에 대한 일반적인 접근 방식은 데이터 유효성 검사를 사용하여 드롭다운 목록을 만들고 코드에 VLOOKUP을 사용하여 별도의 열을 갖는 것입니다.코드를 포함할 다른 열이 없다면 무엇을 알려드려야 할지 모르겠습니다. 나는 당신에게 무엇을 말해야 할지 모르겠습니다.데이터가 어떻게 사용되는지에 따라 달라집니다. 인쇄물을 가져오시겠습니까? 아니면 다른 프로그램에서 시트를 처리하고 있습니까?
업데이트 2
별도의 코드 열을 사용하지 않는 것이 좋다면 여기에 부분적으로 설명된 콤보 상자 기술을 사용할 수도 있습니다.
http://www.contextures.com/xlDataVal10.html
그것은 복잡할 것입니다.(a) 사용자가 D열의 셀 중 하나를 선택할 때 콤보 상자가 나타나도록 하고, (b) 상자의 표시 항목을 동적으로 조정해야 합니다.그것은 VBA 코드를 포함할 것이고 나는 그것이 가능한지 100% 확신할 수 없습니다.그것은 확실히 노력할 가치가 없어 보입니다.
다음 단계를 사용하여 Mac OS X용 Excel 2016(15.33)의 Developer 탭을 켤 수 있었습니다.
- 메뉴에서 Excel->Preferences(기본 설정)를 선택합니다.
- 저작 섹션에서 보기를 클릭합니다.
- 대화상자 하단에서 Developer 탭 확인란을 선택합니다.
- 이제 개발자 탭이 Excel에 표시됩니다.
언급URL : https://stackoverflow.com/questions/10916596/excel-dropdown-with-name-value-pairs
'programing' 카테고리의 다른 글
ExpressJS 애플리케이션을 구성하는 방법은 무엇입니까? (0) | 2023.06.02 |
---|---|
OnActivityResult 메서드는 더 이상 사용되지 않습니다. 대안은 무엇입니까? (0) | 2023.06.02 |
alias 또는 alias_method를 사용해야 합니까? (0) | 2023.06.02 |
고정 위치이지만 용기에 상대적임 (0) | 2023.06.02 |
코드에서 UIButton에 대한 이미지 설정 (0) | 2023.06.02 |