congdantoancau

[XLF] Vietamese TELEX Converter

Sep 26th, 2020
270
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.05 KB | None | 0 0
  1. ' FILTERING VOWELS PHI NHAP
  2. =
  3. IF( LEN(B2)=1,
  4. B2,
  5. IF( LEN(B2)=2,
  6. IF( OR(AND(RIGHT(B2,1)="a",LEFT(B2,1)<>"o"),RIGHT(B2)="i",RIGHT(B2)="m",RIGHT(B2)="n"),
  7. LEFT(B2,1),
  8. IF( AND(OR(RIGHT(B2,1)="o",RIGHT(B2,1)="u",RIGHT(B2,1)="y",),LEFT(B2,1)<>"u"),
  9. LEFT(B2,1),
  10. RIGHT(B2,1)
  11. )),
  12. IF( LEN(B2)=3,
  13. IF( OR(RIGHT(B2,1)="g",RIGHT(B2,1)="h"),
  14. LEFT(B2,1),
  15. MID(B2,2,1)
  16. ),
  17. IF( RIGHT(B2,1)="n",
  18. MID(B2,3,1),
  19. MID(B2,2,1)
  20. )
  21. )))
  22.  
  23. ' FILTERING VOWELS NHAP THANH
  24. ' IF(OR(RIGHT(B2,1)="c",RIGHT(B2,1)="p",RIGHT(B2,1)="t")
  25. =IF(RIGHT(B2,1)="h",MID(B2,LEN(B2)-2,1),MID(B2,LEN(B2)-1,1))
  26.  
  27. ' JOINING TONE MARKS
  28. =
  29. IF( D2="z",
  30. C2,
  31. IF( D2="f",
  32. SWITCH(C2,"a","à","ă","ằ","ơ","ờ","â","ầ","e","è","ê","ề","o","ò","ô","ồ","u","ù","ư","ừ","i","ì","y","ỳ"),
  33. IF( D2="s",
  34. SWITCH(C2,"a","á","ă","ắ","ơ","ớ","â","ấ","e","é","ê","ế","o","ó","ô","ố","u","ú","ư","ứ","i","í","y","ý"),
  35. IF( D2="r",
  36. SWITCH(C2,"a","ả","ă","ẳ","ơ","ở","â","ẩ","e","ẻ","ê","ể","o","ỏ","ô","ổ","u","ủ","ư","ử","i","ỉ","y","ỷ"),
  37. IF( D2="x",
  38. SWITCH(C2,"a","ã","ă","ẵ","ơ","ỡ","â","ẫ","e","ẽ","ê","ễ","o","õ","ô","ỗ","u","ũ","ư","ữ","i","ĩ","y","ỹ"),
  39. IF( D2="j",
  40. SWITCH(C2,"a","ạ","ă","ặ","ơ","ợ","â","ậ","e","ẹ","ê","ệ","o","ọ","ô","ộ","u","ụ","ư","ự","i","ị","y","ỵ")
  41. )
  42.  
  43. ' SPLIT CONSONANT
  44. =
  45. IF(AND(LEFT(B2,1)<>"a",LEFT(B2,1)<>"i",LEFT(B2,1)<>"u",LEFT(B2,1)<>"e",LEFT(B2,1)<>"o",LEFT(B2,1)<>"y"),
  46. IF(MID(B2,3,1)="h",
  47. LEFT(B2,3),
  48. IF(OR(LEFT(B2,1)=MID(B2,2,1),MID(B2,2,1)="h",MID(B2,2,1)="g",MID(B2,2,1)="r",LEFT(B2,1)="q",AND(LEFT(B2,1)="g",MID(B2,2,1)="i")),
  49. LEFT(B2,2),
  50. LEFT(B2,1)
  51. )))
  52.  
  53. ' FIXING CONSONANT
  54. =CONCATENATE(
  55. IF(AND(B2="gi",LEFT(C2,1)="i"),
  56. "g",
  57. IF(AND(B2="g",OR(LEFT(C2,1)="i",LEFT(C2,1)="e")),
  58. "gh",
  59. IF(AND(B2="ng",OR(LEFT(C2,1)="i",LEFT(C2,1)="e")),
  60. "ngh",
  61. IF(AND(B2="c",OR(LEFT(C2,1)="i",LEFT(C2,1)="e")),
  62. "k",
  63. IF(AND(B2="c",LEN(C2)>1),
  64. IF(OR(
  65. AND(LEFT(C2,1)="u",OR(MID(C2,2,1)="y",MID(C2,2,1)="e")),
  66. AND(LEFT(C2,1)="o",OR(MID(C2,2,1)="a",MID(C2,2,1)="e")),
  67. AND(LEN(C2)=2,LEFT(C2,1)="u",MID(C2,2,1)="o"),
  68. AND(LEFT(C2,1)="u",OR(
  69. AND(MID(C2,2,1)="o",MID(C2,3,1)="w"),
  70. AND(MID(C2,2,1)="a",MID(C2,3,1)="a")
  71. )
  72. )),
  73. "q",
  74. B2
  75. ),
  76. B2
  77. ))))),
  78. IF(AND(B2="c",LEN(C2)>1,LEFT(C2,1)="o",OR(MID(C2,2,1)="a",MID(C2,2,1)="e")),
  79. CONCATENATE("u",RIGHT(C2,LEN(C2)-1)),
  80. C2
  81. ),
  82. D2
  83. )
  84.  
  85. ' FILL TONE MARKS
  86. =SWITCH(I2,1,"z",2,"f",3,"r",4,"x",5,"s",6,"j")
  87.  
  88. ' FILL CONSONANTS
  89. =SWITCH(H2,1,"",2,"b",3,"c",4,"ch",5,"d",6,"dd",7,"g",8,"gi",9,"h",10,"kh",11,"l",12,"m",13,"n",14,"ng",15,"nh",16,"ph",17,"r",18,"s",19,"t",20,"th",21,"tr",22,"v",23,"x")
  90.  
  91. ' COMBINE
  92. =IF(D2<>FALSE,
  93. IF(D2="dd",
  94. CONCATENATE("đ",E2),
  95. IF(AND(D2="gi",OR(LEFT(E2,1)="i",LEFT(E2,1)="ì",LEFT(E2,1)="ỉ",LEFT(E2,1)="ĩ",LEFT(E2,1)="í",LEFT(E2,1)="ị")),
  96. CONCATENATE("g",E2),
  97. IF(OR(AND(D2="qu",LEFT(E2,1)="u"),AND(D2="qu",LEFT(E2,1)="o")),
  98. CONCATENATE(D2,RIGHT(E2,LEN(E2)-1)),
  99. CONCATENATE(D2,E2)
  100. ))),
  101. E2
  102. )
  103.  
Advertisement
Add Comment
Please, Sign In to add comment