안녕하세요. 엔지엠소프트웨어입니다. 엔지엠 에디터에는 여러가지 수학 함수와 통계 함수를 제공하고 있습니다. 이외에도 좌표, 가각형 영역을 쉽게 계산할 수 있는 사칙 연산도 제공합니다. 엑셀이나 기타 통계 관련 프로그램에서 제공하는 대부분의 함수를 제공하고 있습니다. 다만~ 연산이라는게 연속적인 작업이라서 단순한 계산 용도가 아니라면 스크립트로 복잡하게 구현하는건 상당히 귀찮은 작업입니다. 그래서, 엔지엠 매크로는 사용자가 직접 커스텀 모듈을 만들어서 추가할 수 있는 기능이 포함되어 있습니다. 연산의 중간 과정은 직접 구현하고, 결과만 매크로에 적용시킬 수 있습니다.

오늘 알아볼 중앙값은 통계쪽에 있습니다. 평균(Mean)과 중앙값(Median, 중간값)은 다릅니다.

[ 디자이너 프레임워크 ]를 참고해서 개발 환경을 구축하세요. 이미 Visual Studio(비주얼 스튜디오)를 가지고 있다면 바로 아래와 같이 진행하면 됩니다. 콘솔 프로젝트를 추가하고, 아래 코드를 붙여넣기 하세요. 코드에 주석은 모두 달아두었습니다. 이 글은 개발자분들을 대상으로 작성하고 있기 때문에 일반인분들이 보시기엔 다소 어려운 부분이 있을겁니다. 기본적인 내용은 알고 있다는 가정하에 진행합니다.
using System;
using System.Windows.Forms;
namespace ConsoleTest
{
class Program
{
static void Main(string[] args)
{
// 매크로 엔진에서 가상으로 실행할 스크립트 뷰를 생성합니다.
// isBackground 파라메터를 false로 명시하지 않으면 뷰를 생성하지 않고 백그라운드로 실행됩니다.
var sv = new Designer.Component.ScriptView(new Designer.ComponentDefault.MainView(), "/Dummy.ngs");
TreeNode tn = sv.TreeView.Nodes.Add("A", "Analysis");
var median = new NGM.Models.StatisticsFunc.MedianModel()
{
FunctionKey = NGM.Definition.FunctionKey.STATISTICS_FUNCTION_MEDIAN,
DirectInputData = "1,2,3,4,5,6,7,8,9"
};
// 액션 목록을 관리하는 노드에 액션을 추가합니다.
tn.Tag = median;
// 스크립트를 실행합니다.
sv.Play();
// 엔지엠 매크로, 플레이어, 프레임워크는 모두 비동기로 동작합니다.
// 작업자 스레드가 매크로 엔진보다 먼저 수행될수도 있습니다.
// 작업을 동기적으로 처리하기 위해 매크로 엔진이 완료 되었는지 확인해야 합니다.
while (sv.State == NGM.Definition.MacroState.Run)
System.Threading.Thread.Sleep(1);
// 중앙값의 결과를 콘솔창에 표시합니다.
Console.WriteLine(median.ResultData);
// 프로세스가 종료되서 프로그램이 중지되는걸 방지합니다.
Console.ReadLine();
}
}
}
실행(F5) 후 결과를 확인 해보세요.

프레임워크의 클래스, 메소드, 열거형등등... 도움말을 확인하면서 코딩할 수 있습니다.

메뉴얼을 모두 작성한건 아니지만, 코딩에서 참고할만한 내용을 지속적으로 업데이트하려고 노력하고 있습니다.

가급적이면 질문은 홈페이지를 이용해주세요~ 그래야 다른 사용자도 참고할만한 자료가 누적되서 나중에는 큰 자산이 됩니다. 1~9까지 인자로 사용하는 데이터는 중앙값과 평균값이 동일합니다. 평균값을 구할 수 있도록 아래와 같이 코드를 변경하고, 실행 해보세요.
using System;
using System.Windows.Forms;
namespace ConsoleTest
{
class Program
{
static void Main(string[] args)
{
// 매크로 엔진에서 가상으로 실행할 스크립트 뷰를 생성합니다.
// isBackground 파라메터를 false로 명시하지 않으면 뷰를 생성하지 않고 백그라운드로 실행됩니다.
var sv = new Designer.Component.ScriptView(new Designer.ComponentDefault.MainView(), "/Dummy.ngs");
TreeNode tn = sv.TreeView.Nodes.Add("A", "Analysis");
var median = new NGM.Models.StatisticsFunc.MeanModel()
{
FunctionKey = NGM.Definition.FunctionKey.STATISTICS_FUNCTION_MEAN,
DirectInputData = "1,2,3,4,5,6,7,8,9"
};
결과는 중앙값과 동일하게 5가 표시됩니다. 산술평균의 경우 모든 관측치의 값을 반영하므로 지나치게 작거나 큰 값들의 영향을 많이 받게 됩니다. 중앙값은 그 값보다 크거나 작은 관측치는 전혀 고려하지 않으므로 영향을 받지 않습니다. 그래서 통계의 오류를 수정하기 위해 중앙값을 사용하기도 합니다. 수율 관련쪽 일을 하다보니 기초 통계를 사용할일이 많았는데요. 이젠~ 주로 프로젝트 매니저를하고 있어서 대부분 다 까먹었습니다. 코딩도 안한지가 오래대서 개발도 서툴구요ㅠㅠ; 요즘 개발자들 보면 정말 천재인가 싶을정도로 아키텍트랑 코딩이 예술이더라구요. 점점 머리가 안따라가서 적응이 힘들어집니다.
🔹 엔지엠 매크로 활용 팁
- 통계 함수 활용
- 평균, 중앙값, 합계, 표준편차 등 반복 계산 및 데이터 분석에 사용 가능
- 커스텀 모듈 생성
- 반복 연산이나 복잡한 계산 로직을 별도로 구현 후 매크로에 적용
- 실무 활용 예
- 수율 관리, 데이터 분석, 프로젝트 매니저 업무 자동화 등
📌 엔지엠 매크로는 비동기 스크립트 실행을 지원하며, 작업 완료 상태를 확인 후 결과를 활용할 수 있습니다.
🔹 정리
- 중앙값(Median)과 평균(Mean)의 차이를 이해하고, 데이터 분석에 맞는 함수를 선택
- 엔지엠 매크로에서 직접 통계 함수 적용 가능
- 커스텀 모듈로 복잡한 연산도 쉽게 매크로에 반영
💡 추천 키워드/태그
#엔지엠매크로 #NGMsoftware #매크로 #RPA #중앙값 #Median #평균값 #Mean #통계함수 #자동화매크로 #수학함수
'업무 자동화 매크로' 카테고리의 다른 글
| 닉네임 생성기 매크로 만들기 – 오토픽 RPA 활용법 (1) | 2025.08.25 |
|---|---|
| 오토픽 매크로 – 다중 액션 이동(Multi Action Move) 활용법 (0) | 2025.08.24 |
| 엔지엠소프트웨어 디자이너 Framework로 마우스 클릭 매크로 제작하기 (0) | 2025.08.24 |
| OCR 체크와 문자열 치환으로 텍스트 인식 정확도 높이기 (엔지엠소프트웨어 매크로 활용) (0) | 2025.08.24 |
| 멀티 다클라 매크로 | 응답없음 자동 감지 후 강제 종료 방법 (엘디플레이어·블루스택·녹스) (0) | 2025.08.24 |