Add function zxlookup

This commit is contained in:
Mauricio Baeza 2021-10-10 22:16:24 -05:00
parent 8c69515f06
commit 08bc00138b
6 changed files with 2 additions and 76 deletions

20
conf.py
View File

@ -186,26 +186,6 @@ FUNCTIONS = {
}, },
}, },
}, },
'zxylookup': {
'displayname': {'en': 'zxylookup', 'es': 'zbuscarxy'},
'description': {
'en': 'Find things in a range in first row and first column, get intersection',
'es': 'Busca en un rango en la primer fila y columna y devuelve la intersección'},
'parameters': {
'lookup_value_x': {
'displayname': {'en': 'lookup_value_x', 'es': 'valor_buscado_x'},
'description': {'en': 'Value to search in first row', 'es': 'Valor buscado en la primer fila'},
},
'lookup_value_y': {
'displayname': {'en': 'lookup_value_y', 'es': 'valor_buscado_y'},
'description': {'en': 'Value to search in first column', 'es': 'Valor buscado en la primer columna'},
},
'return_array': {
'displayname': {'en': 'return_array', 'es': 'devolver_desde'},
'description': {'en': 'Range to return', 'es': 'Rango a devolver'},
},
},
},
} }
# ~ FUNCTIONS = {} # ~ FUNCTIONS = {}

Binary file not shown.

View File

@ -129,51 +129,6 @@
</prop> </prop>
</node> </node>
</node> </node>
</node> <node oor:name="zxylookup" oor:op="replace">
<prop oor:name="DisplayName">
<value xml:lang="en">zxylookup</value>
<value xml:lang="es">zbuscarxy</value>
</prop>
<prop oor:name="Description">
<value xml:lang="en">Find things in a range in first row and first column, get intersection</value>
<value xml:lang="es">Busca en un rango en la primer fila y columna y devuelve la intersección</value>
</prop>
<prop oor:name="Category">
<value>Add-In</value>
</prop>
<prop oor:name="CompatibilityName">
<value xml:lang="en">AutoAddIn.zxylookup</value>
</prop>
<node oor:name="Parameters">
<node oor:name="lookup_value_x" oor:op="replace">
<prop oor:name="DisplayName">
<value xml:lang="en">lookup_value_x</value>
<value xml:lang="es">valor_buscado_x</value>
</prop>
<prop oor:name="Description">
<value xml:lang="en">Value to search in first row</value>
<value xml:lang="es">Valor buscado en la primer fila</value>
</prop>
</node> <node oor:name="lookup_value_y" oor:op="replace">
<prop oor:name="DisplayName">
<value xml:lang="en">lookup_value_y</value>
<value xml:lang="es">valor_buscado_y</value>
</prop>
<prop oor:name="Description">
<value xml:lang="en">Value to search in first column</value>
<value xml:lang="es">Valor buscado en la primer columna</value>
</prop>
</node> <node oor:name="return_array" oor:op="replace">
<prop oor:name="DisplayName">
<value xml:lang="en">return_array</value>
<value xml:lang="es">devolver_desde</value>
</prop>
<prop oor:name="Description">
<value xml:lang="en">Range to return</value>
<value xml:lang="es">Rango a devolver</value>
</prop>
</node>
</node>
</node> </node>
</node> </node>
</node> </node>

View File

@ -16,11 +16,6 @@ module net { module elmau { module zaz { module functions {
[in] any if_not_found, [in] any if_not_found,
[in] any match_mode, [in] any match_mode,
[in] any search_mode); [in] any search_mode);
any zxylookup(
[in] any lookup_value_x,
[in] any lookup_value_y,
[in] any return_array,
[in] any if_not_found);
}; };
service functions { service functions {

Binary file not shown.

View File

@ -21,14 +21,10 @@ class ZAZFunctions(unohelper.Base, XZAZFunctions):
result = eval(value) result = eval(value)
return result return result
def zxylookup(self, lookup_value_x, lookup_value_y, return_array, if_not_found):
return
def zxlookup(self, lookup_value, lookup_array, return_array, if_not_found, def zxlookup(self, lookup_value, lookup_array, return_array, if_not_found,
match_mode, search_mode): match_mode, search_mode):
# The python default value not get in custom functions # The python default value not set in custom functions
if match_mode is None: if match_mode is None:
match_mode = 0 match_mode = 0
else: else:
@ -49,7 +45,7 @@ class ZAZFunctions(unohelper.Base, XZAZFunctions):
if value is None: if value is None:
if match_mode == -1: if match_mode == -1:
index = bisect.bisect_right(source, lookup_value) index = bisect.bisect_right(source, lookup_value)
value = (return_array[index],) value = (return_array[index - 1],)
elif match_mode == 1: elif match_mode == 1:
index = bisect.bisect_left(source, lookup_value) index = bisect.bisect_left(source, lookup_value)
value = (return_array[index],) value = (return_array[index],)